library(tidyverse)
library(MASS)
library(multcomp)
library(tidyr)
library(vegan)
library(parallelDist)
library(ggordiplots)
library(lmtest)
library(psych)
library(lme4)
library(nlme)
library(multcomp)

Read in data

total<-read.csv("/Users/gordoncuster/Desktop/Manuscript Submissions/Herbicide and Microbes/Herbicide_SAREC_2018/merged_metadata_herbicide_EPSCOR_2018.csv")
enz <- read.csv("/Users/gordoncuster/Desktop/Manuscript Submissions/Herbicide and Microbes/Herbicide_SAREC_2018/Enzymes/Enzyme_Summary_W_percent_Change.csv")
enz_only<-read.csv("/Users/gordoncuster/Desktop/Manuscript Submissions/Herbicide and Microbes/Herbicide_SAREC_2018/Enzymes/Enzyme.csv")

wide_total <-read.csv("/Users/gordoncuster/Desktop/Manuscript Submissions/Herbicide and Microbes/Herbicide_SAREC_2018/Wide_merged_GLM.csv")

Split data by herbicide and time so we can look at each individually

#enz_only$Herbicide<-factor(enz_only$Herbicide, levels = c("Non-Treated", "Hand", "Aatrex", "Clarity", "Roundup Powermax"), ordered = T)
enz_only$Herbicide<-factor(enz_only$Herbicide, levels = c("Non-Treated", "Hand", "Aatrex", "Clarity", "Roundup Powermax"), ordered = F)
str(enz_only$Total_Weed_Veg)
 int [1:60] 4 5 4 5 4 5 4 5 5 3 ...
#checks out its numeric here. 

Aatrex<-filter(enz_only, Herbicide == "Aatrex")
Clarity<-filter(enz_only, Herbicide == "Clarity")
Roundup<-filter(enz_only, Herbicide == "Roundup Powermax")

Handweed<-filter(enz_only, Herbicide != c("Aatrex"))
Handweed<-filter(Handweed, Herbicide != c("Roundup Powermax"))
Handweed<-filter(Handweed, Herbicide != c("Clarity"))
Handweed<-filter(Handweed, Herbicide != c("Non-Treated"))

NonTreat<-filter(enz_only, Herbicide == "Non-Treated")

  
Time1<-filter(enz_only, Time == "T1")
Time2<-filter(enz_only, Time == "T2")
Time3<-filter(enz_only, Time == "T3")
Time2_3<-filter(enz_only, Time != "T1")
Time1_2<-filter(enz_only, Time != "T3")

Create summary tables

sub_enz_data<-enz_only[,c("Herbicide", "Time", "BG", "BX", "CBH", "AG", "NAG", "LAP", "PHOS" )]
enz_summary<-describeBy(sub_enz_data, list(sub_enz_data$Herbicide, sub_enz_data$Time), mat = T)

#write.csv(enz_summary, "/Users/gordoncuster/Desktop/Manuscript Submissions/Herbicide and Microbes/Writing/Tables/enz_summary.csv")
#IC_summary2<-do.call("rbind", IC_summary)

glm global test of enzymes time 1 against handweeded plots F stat for overall model signficance compared to intercept only model. Only if the more complex model is signficnat are the predictors kept. #https://statisticsbyjim.com/regression/interpret-f-test-overall-significance-regression/

enzymes<- c("BG", "CBH", "PHOS", "NAG", "BX", "AG", "LAP")
sub_Time1 <- Time1[!is.na(Time1$LAP),]
#sets order for handweed to be first category so dunnets compares to this. 
sub_Time1$Herbicide<-factor(sub_Time1$Herbicide, levels = c( "Hand", "Non-Treated", "Aatrex", "Clarity", "Roundup Powermax"), ordered = F)
#univariate
out<-list()
models_out<-list()
p.predict<-list()

for(i in 1:(length(enzymes))){
  mod_herb <- glm(formula = noquote(paste(enzymes[i], "~ Herbicide + Total_Weed_Veg", sep = "")), family = gaussian(link = "identity"), data = sub_Time1)
  mod_inter <- glm(formula = noquote(paste(enzymes[i], "~ 1", sep = "")), family = gaussian(link = "identity"), data = sub_Time1)
  ##3rd model? 
  glob_sig<-anova(mod_inter, mod_herb, test = "F")
    if(glob_sig$`Pr(>F)`[2]<=0.05){
        test_stats<-c(glob_sig$`Resid. Df`[2], glob_sig$Df[2], glob_sig$F[2], glob_sig$`Pr(>F)`[2])
        names(test_stats) <- c("DF_res", "DF", "F", "p-val")
        sum_model<-summary(mod_herb)
        post_hoc<-summary(glht(mod_herb, mcp(Herbicide="Dunnett")))
         # p<-anova(mod_herb, mod_inter)
        #  p.vals<-c(p.vals, list(p))
        significance_predic<-drop1(mod_herb, test = "F")
        out<-c(out, list(post_hoc), enzymes[i])
        models_out <- c(models_out, enzymes[i], list(test_stats), list(sum_model))
        p.predict <- c(p.predict, list(significance_predic), enzymes[i])
    }

}

models_out
[[1]]
[1] "PHOS"

[[2]]
     DF_res          DF           F       p-val 
13.00000000  5.00000000  4.84099336  0.01016336 

[[3]]

Call:
glm(formula = noquote(paste(enzymes[i], "~ Herbicide + Total_Weed_Veg", 
    sep = "")), family = gaussian(link = "identity"), data = sub_Time1)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-33.245  -13.607    3.091   12.108   21.406  

Coefficients:
                          Estimate Std. Error t value Pr(>|t|)    
(Intercept)                 61.788     19.209   3.217 0.006748 ** 
HerbicideNon-Treated        62.824     14.225   4.417 0.000696 ***
HerbicideAatrex             34.522     12.909   2.674 0.019106 *  
HerbicideClarity            15.266     13.081   1.167 0.264136    
HerbicideRoundup Powermax   25.729     13.081   1.967 0.070907 .  
Total_Weed_Veg               8.447      4.225   1.999 0.066937 .  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for gaussian family taken to be 333.2754)

    Null deviance: 12399.5  on 18  degrees of freedom
Residual deviance:  4332.6  on 13  degrees of freedom
AIC: 171.08

Number of Fisher Scoring iterations: 2
p.predict
[[1]]
Single term deletions

Model:
PHOS ~ Herbicide + Total_Weed_Veg
               Df Deviance    AIC F value  Pr(>F)   
<none>              4332.6 171.08                   
Herbicide       4  11717.4 181.98  5.5396 0.00792 **
Total_Weed_Veg  1   5664.6 174.17  3.9968 0.06694 . 
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

[[2]]
[1] "PHOS"
out
[[1]]

     Simultaneous Tests for General Linear Hypotheses

Multiple Comparisons of Means: Dunnett Contrasts


Fit: glm(formula = noquote(paste(enzymes[i], "~ Herbicide + Total_Weed_Veg", 
    sep = "")), family = gaussian(link = "identity"), data = sub_Time1)

Linear Hypotheses:
                             Estimate Std. Error z value Pr(>|z|)    
Non-Treated - Hand == 0         62.82      14.22   4.417   <0.001 ***
Aatrex - Hand == 0              34.52      12.91   2.674   0.0268 *  
Clarity - Hand == 0             15.27      13.08   1.167   0.5954    
Roundup Powermax - Hand == 0    25.73      13.08   1.967   0.1552    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Adjusted p values reported -- single-step method)


[[2]]
[1] "PHOS"

glm global test of enzymes time 1 agaist non-treated plots

enzymes<- c("BG", "CBH", "PHOS", "NAG", "BX", "AG", "LAP")
sub_Time1 <- Time1[!is.na(Time1$LAP),]
sub_Time1$Herbicide<-factor(sub_Time1$Herbicide, levels = c( "Non-Treated", "Hand",  "Aatrex", "Clarity", "Roundup Powermax"), ordered = F)
#univariate
out<-list()
models_out<-list()
p.predict<-list()

for(i in 1:(length(enzymes))){
  mod_herb <- glm(formula = noquote(paste(enzymes[i], "~ Herbicide + Total_Weed_Veg", sep = "")), family = gaussian(link = "identity"), data = sub_Time1)
  mod_inter <- glm(formula = noquote(paste(enzymes[i], "~ 1", sep = "")), family = gaussian(link = "identity"), data = sub_Time1)
  ##3rd model? 
  glob_sig<-anova(mod_inter, mod_herb, test = "F")
    if(glob_sig$`Pr(>F)`[2]<=0.05){
        test_stats<-c(glob_sig$`Resid. Df`[2], glob_sig$Df[2], glob_sig$F[2], glob_sig$`Pr(>F)`[2])
        names(test_stats) <- c("DF_res", "DF", "F", "p-val")
        sum_model<-summary(mod_herb)
        post_hoc<-summary(glht(mod_herb, mcp(Herbicide="Dunnett")))
         # p<-anova(mod_herb, mod_inter)
        #  p.vals<-c(p.vals, list(p))
        significance_predic<-drop1(mod_herb, test = "F")
        out<-c(out, list(post_hoc), enzymes[i])
        models_out <- c(models_out, enzymes[i], list(test_stats), list(sum_model))
        p.predict <- c(p.predict, list(significance_predic), enzymes[i])
    }

}

models_out
[[1]]
[1] "PHOS"

[[2]]
     DF_res          DF           F       p-val 
13.00000000  5.00000000  4.84099336  0.01016336 

[[3]]

Call:
glm(formula = noquote(paste(enzymes[i], "~ Herbicide + Total_Weed_Veg", 
    sep = "")), family = gaussian(link = "identity"), data = sub_Time1)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-33.245  -13.607    3.091   12.108   21.406  

Coefficients:
                          Estimate Std. Error t value Pr(>|t|)    
(Intercept)                124.612     17.592   7.084 8.25e-06 ***
HerbicideHand              -62.824     14.225  -4.417 0.000696 ***
HerbicideAatrex            -28.302     14.225  -1.990 0.068097 .  
HerbicideClarity           -47.558     13.961  -3.407 0.004683 ** 
HerbicideRoundup Powermax  -37.095     13.961  -2.657 0.019743 *  
Total_Weed_Veg               8.447      4.225   1.999 0.066937 .  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for gaussian family taken to be 333.2754)

    Null deviance: 12399.5  on 18  degrees of freedom
Residual deviance:  4332.6  on 13  degrees of freedom
AIC: 171.08

Number of Fisher Scoring iterations: 2
p.predict
[[1]]
Single term deletions

Model:
PHOS ~ Herbicide + Total_Weed_Veg
               Df Deviance    AIC F value  Pr(>F)   
<none>              4332.6 171.08                   
Herbicide       4  11717.4 181.98  5.5396 0.00792 **
Total_Weed_Veg  1   5664.6 174.17  3.9968 0.06694 . 
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

[[2]]
[1] "PHOS"
out
[[1]]

     Simultaneous Tests for General Linear Hypotheses

Multiple Comparisons of Means: Dunnett Contrasts


Fit: glm(formula = noquote(paste(enzymes[i], "~ Herbicide + Total_Weed_Veg", 
    sep = "")), family = gaussian(link = "identity"), data = sub_Time1)

Linear Hypotheses:
                                    Estimate Std. Error z value Pr(>|z|)    
Hand - Non-Treated == 0               -62.82      14.22  -4.417  < 0.001 ***
Aatrex - Non-Treated == 0             -28.30      14.22  -1.990  0.13833    
Clarity - Non-Treated == 0            -47.56      13.96  -3.407  0.00267 ** 
Roundup Powermax - Non-Treated == 0   -37.10      13.96  -2.657  0.02732 *  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Adjusted p values reported -- single-step method)


[[2]]
[1] "PHOS"
#drop1(mod_herb, test = "F")

adonis2 and graphs

#convert to long format for ggplot
subtime1_long <- sub_Time1[,c("Herbicide", "BG", "CBH", "PHOS", "NAG", "BX", "AG", "LAP")] %>% 
  gather(key = "Enzyme", value = "Activity",BG, CBH, PHOS, NAG, BX, AG, LAP )

data_long<-enz_only[,c("Herbicide", "Time","BG", "CBH", "PHOS", "NAG", "BX", "AG", "LAP")] %>% 
  gather(key = "Enzyme", value = "Activity", BG, CBH, PHOS, NAG, BX, AG, LAP )

dose.labs <- c("Time one","Time two","Time three")
names(dose.labs) <- c("T1", "T2", "T3")

phos_T1<-ggplot(data_long, aes_string(x = "Herbicide", y= "Activity", fill="Herbicide")) + geom_boxplot(data=subset(data_long,Enzyme=="PHOS")) + theme_classic() + facet_wrap(.~ Time, labeller = labeller(Time = dose.labs)) +
#ggplot(subtime1_long, aes_string(x = "Herbicide", y= "Activity", fill="Herbicide")) + geom_boxplot() +theme_classic() + facet_wrap(~ Enzyme, scales = "free_y")  +
  theme(plot.title= element_text( hjust = 0.5, size = 15)) + ylab("Activity (nmol/h/g)") + xlab("Weed removal treatment") + scale_fill_discrete(name = "Weed removal\n treatment", labels = c( "Nontreated", "Handweeded", "Aatrex", "Clarity", "Roundup\nPowermax")) + theme(axis.text.y = element_text(size=12))  + 
  theme(axis.ticks = element_blank(), axis.text.x = element_blank(), axis.title.x = element_text(size = 12))  + 
       theme(strip.text.x = element_text(size = 9, colour = "black", angle = 0)) + theme(axis.title.y = element_text(size=13)) + ylim(50,180) + theme(legend.position="none") +  theme(strip.text.x = element_text(size =  12)) +ggtitle("PHOS Activity")
                                                                                                                                                                                                                                                                 
bgTime<-ggplot(data_long, aes_string(x = "Herbicide", y= "Activity", fill="Herbicide")) + geom_boxplot(data=subset(data_long,Enzyme=="BG")) + theme_classic() + facet_wrap(.~ Time, labeller = labeller(Time = dose.labs)) +
#ggplot(subtime1_long, aes_string(x = "Herbicide", y= "Activity", fill="Herbicide")) + geom_boxplot() +theme_classic() + facet_wrap(~ Enzyme, scales = "free_y")  +
  theme(plot.title= element_text( hjust = 0.5, size = 15)) + ylab("Activity (nmol/h/g)") + xlab("Weed removal treatment") + scale_fill_discrete(name = "Weed removal\n treatment", labels = c( "Nontreated", "Handweeded", "Aatrex", "Clarity", "Roundup\nPowermax")) + theme(axis.text.y = element_text(size=12))  + 
  theme(axis.ticks = element_blank(), axis.text.x = element_blank(), axis.title.x = element_text(size = 12))  + 
       theme(strip.text.x = element_text(size = 9, colour = "black", angle = 0)) + theme(axis.title.y = element_text(size=13)) + theme(legend.position="none") +  theme(strip.text.x = element_text(size =  12))+ggtitle("BG Activity")

lapTime<-ggplot(data_long, aes_string(x = "Herbicide", y= "Activity", fill="Herbicide")) + geom_boxplot(data=subset(data_long,Enzyme=="LAP")) + theme_classic() + facet_wrap(.~ Time, labeller = labeller(Time = dose.labs)) +
#ggplot(subtime1_long, aes_string(x = "Herbicide", y= "Activity", fill="Herbicide")) + geom_boxplot() +theme_classic() + facet_wrap(~ Enzyme, scales = "free_y")  +
  theme(plot.title= element_text( hjust = 0.5, size = 15)) + ylab("Activity (nmol/h/g)") + xlab("Weed removal treatment") + scale_fill_discrete(name = "Weed removal\n treatment", labels = c( "Nontreated", "Handweeded", "Aatrex", "Clarity", "Roundup\nPowermax")) + theme(axis.text.y = element_text(size=12))  + 
  theme(axis.ticks = element_blank(), axis.text.x = element_blank(), axis.title.x = element_text(size = 12))  + 
       theme(strip.text.x = element_text(size = 9, colour = "black", angle = 0)) + theme(axis.title.y = element_text(size=13)) #+ theme(legend.position="none") +  theme(strip.text.x = element_text(size =  12))+ggtitle("LAP Activity")

grid.arrange(phos_T1, bgTime, lapTime)
Warning: Removed 2 rows containing non-finite values (`stat_boxplot()`).
Warning: Removed 1 rows containing non-finite values (`stat_boxplot()`).
Warning: Removed 3 rows containing non-finite values (`stat_boxplot()`).

#multivariate
enz_table<-sub_Time1[,c("BG", "CBH", "PHOS", "NAG", "BX", "AG", "LAP")]
samp_data <- sub_Time1[,c("Herbicide", "Treatment", "Total_Weed_Veg")]

psdist<-parDist(as.matrix(enz_table), method = "bray")

adonis2(psdist ~ Herbicide + Total_Weed_Veg, data = data.frame(samp_data), permutations = 1000)
Permutation test for adonis under reduced model
Terms added sequentially (first to last)
Permutation: free
Number of permutations: 1000

adonis2(formula = psdist ~ Herbicide + Total_Weed_Veg, data = data.frame(samp_data), permutations = 1000)
               Df SumOfSqs      R2      F Pr(>F)
Herbicide       4 0.073428 0.27006 1.4166 0.2258
Total_Weed_Veg  1 0.030014 0.11039 2.3162 0.1069
Residual       13 0.168454 0.61955              
Total          18 0.271896 1.00000              
time1_ord<-metaMDS(na.omit(sub_Time1[,c("BG", "CBH", "PHOS", "NAG", "BX", "AG", "LAP")]), distance = "bray" )
Square root transformation
Wisconsin double standardization
Run 0 stress 0.05397243 
Run 1 stress 0.05565394 
Run 2 stress 0.05565394 
Run 3 stress 0.05021404 
... New best solution
... Procrustes: rmse 0.05550926  max resid 0.2230549 
Run 4 stress 0.04716523 
... New best solution
... Procrustes: rmse 0.07032194  max resid 0.1840465 
Run 5 stress 0.05397215 
Run 6 stress 0.05021434 
Run 7 stress 0.06394782 
Run 8 stress 0.04718903 
... Procrustes: rmse 0.01507886  max resid 0.04453192 
Run 9 stress 0.04716627 
... Procrustes: rmse 0.001072798  max resid 0.003680471 
... Similar to previous best
Run 10 stress 0.0653428 
Run 11 stress 0.05021841 
Run 12 stress 0.04947881 
Run 13 stress 0.04716608 
... Procrustes: rmse 0.0010372  max resid 0.003560329 
... Similar to previous best
Run 14 stress 0.06534227 
Run 15 stress 0.05817447 
Run 16 stress 0.06596012 
Run 17 stress 0.05565396 
Run 18 stress 0.05397199 
Run 19 stress 0.04716526 
... Procrustes: rmse 0.0005598519  max resid 0.001912569 
... Similar to previous best
Run 20 stress 0.05565384 
*** Best solution repeated 3 times
stressplot(time1_ord)


ord<-time1_ord
#make the plot with everything 
d <- gg_ordiplot(ord, samp_data$Herbicide, choices = c(1, 2), kind = c("se"), conf = 0.95, show.groups = "all", ellipse = TRUE, label = FALSE, hull = FALSE, spiders = FALSE, plot = TRUE, pt.size = 1) 

#pull out the ellipses
df_ellipse <- d$df_ellipse
ellipseG1 <- subset(df_ellipse, Group == "Hand", droplevels= TRUE)
ellipseG2 <- subset(df_ellipse, Group == "Non-Treated", droplevels= TRUE)
ellipseG3 <- subset(df_ellipse, Group == "Aatrex", droplevels= TRUE)
ellipseG4 <- subset(df_ellipse, Group == "Clarity", droplevels= TRUE)
ellipseG5 <- subset(df_ellipse, Group == "Roundup Powermax", droplevels= TRUE)


#make the dataframe and subset out samples you dont want to plot
test<-d$df_ord
test$Sample_ID<-rownames(test)
#test$Group=NULL
names(test)<-c("x", "y","Herbicide")

#make the ggplot scatter plot
plot_test<-ggplot(test, aes(x=test$x, y=test$y), color=Herbicide)  + scale_color_manual(values=c("#F8766D", "#A3A500", "#00BF7D", "#00B0F6", "#E76BF3")) + geom_point(aes(color= Herbicide))
#add paths, color, and size, of the hulls
plot_test <- plot_test +
    geom_path(data= ellipseG1, aes(x=x, y=y), color="#F8766D", linetype="solid", size=1.0) +
    geom_path(data= ellipseG2, aes(x=x, y=y), color="#A3A500", linetype="solid", size=1.0) +
    geom_path(data= ellipseG3, aes(x=x, y=y), color="#00BF7D", linetype="solid", size=1.0) +
    geom_path(data= ellipseG4, aes(x=x, y=y), color="#00B0F6", linetype="solid", size=1.0) +
    geom_path(data= ellipseG5, aes(x=x, y=y), color="#E76BF3", linetype="solid", size=1.0) 
#theme it on up
plot_test<- plot_test + theme_classic()
m<-plot_test 
#m <-m + annotate("text", x = -0.05, y = -0.012, label = "Time 2")
#m <-m + annotate("text", x = 0.01, y = -0.01, label = "Time 3")
#m <-m + annotate("text", x = 0.045, y = -0.023, label = "Time 1")
#m <-m + annotate("text", x = 0.4, y = -0.5, label = "Time: P  > 0.8")
m<- m + labs(x= "NMDS2", y="NMDS1")
g <- m + ggtitle("") + theme(plot.title = element_text(hjust = 0.5, size = 22))  + scale_fill_discrete(name = "Herbicide", labels = c("Handweeded", "Nontreated", "Aatrex", "Clarity", "Roundup\nPowermax")) 
g
Warning in eval_tidy(x[[2]], data, env) :
  restarting interrupted promise evaluation

Time 2 comparison to handweed

enzymes<- c("BG", "CBH", "PHOS", "NAG", "BX", "AG", "LAP")
sub_Time2 <- Time2[!is.na(Time2$LAP),]
sub_Time2$Herbicide<-factor(sub_Time2$Herbicide, levels = c( "Hand", "Non-Treated", "Aatrex", "Clarity", "Roundup Powermax"), ordered = F)
#univariate
#univariate
out<-list()
models_out<-list()
p.predict<-list()

for(i in 1:(length(enzymes))){
  mod_herb <- glm(formula = noquote(paste(enzymes[i], "~ Herbicide + Total_Weed_Veg", sep = "")), family = gaussian(link = "identity"), data = sub_Time2)
  mod_inter <- glm(formula = noquote(paste(enzymes[i], "~ 1", sep = "")), family = gaussian(link = "identity"), data = sub_Time2)
  ##3rd model? 
  glob_sig<-anova(mod_inter, mod_herb, test = "F")
    if(glob_sig$`Pr(>F)`[2]<=0.05){
        test_stats<-c(glob_sig$`Resid. Df`[2], glob_sig$Df[2], glob_sig$F[2], glob_sig$`Pr(>F)`[2])
        names(test_stats) <- c("DF_res", "DF", "F", "p-val")
        sum_model<-summary(mod_herb)
        post_hoc<-summary(glht(mod_herb, mcp(Herbicide="Dunnett")))
         # p<-anova(mod_herb, mod_inter)
        #  p.vals<-c(p.vals, list(p))
        significance_predic<-drop1(mod_herb, test = "F")
        out<-c(out, list(post_hoc), enzymes[i])
        models_out <- c(models_out, enzymes[i], list(test_stats), list(sum_model))
        p.predict <- c(p.predict, list(significance_predic), enzymes[i])
    }

}


models_out
[[1]]
[1] "BG"

[[2]]
     DF_res          DF           F       p-val 
14.00000000  5.00000000  3.05831263  0.04515485 

[[3]]

Call:
glm(formula = noquote(paste(enzymes[i], "~ Herbicide + Total_Weed_Veg", 
    sep = "")), family = gaussian(link = "identity"), data = sub_Time2)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-88.301  -40.676    5.253   49.887   71.405  

Coefficients:
                          Estimate Std. Error t value Pr(>|t|)    
(Intercept)                 255.71      42.99   5.948 3.56e-05 ***
HerbicideNon-Treated       -287.38      89.58  -3.208  0.00632 ** 
HerbicideAatrex             -56.88      48.32  -1.177  0.25870    
HerbicideClarity           -165.26      48.32  -3.420  0.00414 ** 
HerbicideRoundup Powermax   -72.49      46.78  -1.550  0.14355    
Total_Weed_Veg               36.18      13.95   2.594  0.02122 *  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for gaussian family taken to be 4279.822)

    Null deviance: 125363  on 19  degrees of freedom
Residual deviance:  59918  on 14  degrees of freedom
AIC: 230.86

Number of Fisher Scoring iterations: 2
p.predict
[[1]]
Single term deletions

Model:
BG ~ Herbicide + Total_Weed_Veg
               Df Deviance    AIC F value  Pr(>F)  
<none>               59918 230.86                  
Herbicide       4   123520 237.33  3.7153 0.02910 *
Total_Weed_Veg  1    88719 236.71  6.7295 0.02122 *
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

[[2]]
[1] "BG"
out
[[1]]

     Simultaneous Tests for General Linear Hypotheses

Multiple Comparisons of Means: Dunnett Contrasts


Fit: glm(formula = noquote(paste(enzymes[i], "~ Herbicide + Total_Weed_Veg", 
    sep = "")), family = gaussian(link = "identity"), data = sub_Time2)

Linear Hypotheses:
                             Estimate Std. Error z value Pr(>|z|)   
Non-Treated - Hand == 0       -287.38      89.58  -3.208  0.00533 **
Aatrex - Hand == 0             -56.88      48.32  -1.177  0.61041   
Clarity - Hand == 0           -165.26      48.32  -3.420  0.00241 **
Roundup Powermax - Hand == 0   -72.49      46.78  -1.550  0.36117   
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Adjusted p values reported -- single-step method)


[[2]]
[1] "BG"

Time 2 comparison to non-treated

enzymes<- c("BG", "CBH", "PHOS", "NAG", "BX", "AG", "LAP")
sub_Time2 <- Time2[!is.na(Time2$LAP),]
sub_Time2$Herbicide<-factor(sub_Time2$Herbicide, levels = c(  "Non-Treated", "Hand", "Aatrex", "Clarity", "Roundup Powermax"), ordered = F)
#univariate
out<-list()
models_out<-list()
p.predict<-list()

for(i in 1:(length(enzymes))){
  mod_herb <- glm(formula = noquote(paste(enzymes[i], "~ Herbicide + Total_Weed_Veg", sep = "")), family = gaussian(link = "identity"), data = sub_Time2)
  mod_inter <- glm(formula = noquote(paste(enzymes[i], "~ 1", sep = "")), family = gaussian(link = "identity"), data = sub_Time2)
  ##3rd model? 
  glob_sig<-anova(mod_inter, mod_herb, test = "F")
    if(glob_sig$`Pr(>F)`[2]<=0.05){
        test_stats<-c(glob_sig$`Resid. Df`[2], glob_sig$Df[2], glob_sig$F[2], glob_sig$`Pr(>F)`[2])
        names(test_stats) <- c("DF_res", "DF", "F", "p-val")
        sum_model<-summary(mod_herb)
        post_hoc<-summary(glht(mod_herb, mcp(Herbicide="Dunnett")))
         # p<-anova(mod_herb, mod_inter)
        #  p.vals<-c(p.vals, list(p))
        significance_predic<-drop1(mod_herb, test = "F")
        out<-c(out, list(post_hoc), enzymes[i])
        models_out <- c(models_out, enzymes[i], list(test_stats), list(sum_model))
        p.predict <- c(p.predict, list(significance_predic), enzymes[i])
    }

}


models_out
[[1]]
[1] "BG"

[[2]]
     DF_res          DF           F       p-val 
14.00000000  5.00000000  3.05831263  0.04515485 

[[3]]

Call:
glm(formula = noquote(paste(enzymes[i], "~ Herbicide + Total_Weed_Veg", 
    sep = "")), family = gaussian(link = "identity"), data = sub_Time2)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-88.301  -40.676    5.253   49.887   71.405  

Coefficients:
                          Estimate Std. Error t value Pr(>|t|)   
(Intercept)                 -31.68     109.60  -0.289  0.77681   
HerbicideHand               287.38      89.58   3.208  0.00632 **
HerbicideAatrex             230.50     101.78   2.265  0.03993 * 
HerbicideClarity            122.12      77.97   1.566  0.13960   
HerbicideRoundup Powermax   214.89      95.62   2.247  0.04126 * 
Total_Weed_Veg               36.18      13.95   2.594  0.02122 * 
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for gaussian family taken to be 4279.822)

    Null deviance: 125363  on 19  degrees of freedom
Residual deviance:  59918  on 14  degrees of freedom
AIC: 230.86

Number of Fisher Scoring iterations: 2
p.predict
[[1]]
Single term deletions

Model:
BG ~ Herbicide + Total_Weed_Veg
               Df Deviance    AIC F value  Pr(>F)  
<none>               59918 230.86                  
Herbicide       4   123520 237.33  3.7153 0.02910 *
Total_Weed_Veg  1    88719 236.71  6.7295 0.02122 *
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

[[2]]
[1] "BG"
out
[[1]]

     Simultaneous Tests for General Linear Hypotheses

Multiple Comparisons of Means: Dunnett Contrasts


Fit: glm(formula = noquote(paste(enzymes[i], "~ Herbicide + Total_Weed_Veg", 
    sep = "")), family = gaussian(link = "identity"), data = sub_Time2)

Linear Hypotheses:
                                    Estimate Std. Error z value Pr(>|z|)   
Hand - Non-Treated == 0               287.38      89.58   3.208  0.00369 **
Aatrex - Non-Treated == 0             230.50     101.78   2.265  0.05083 . 
Clarity - Non-Treated == 0            122.12      77.97   1.566  0.21851   
Roundup Powermax - Non-Treated == 0   214.89      95.62   2.247  0.05304 . 
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Adjusted p values reported -- single-step method)


[[2]]
[1] "BG"
#convert to long format for ggplot
subTime2_long <- sub_Time2[,c("Herbicide", "BG", "CBH", "PHOS", "NAG", "BX", "AG", "LAP")] %>% 
  gather(key = "Enzyme", value = "Activity",BG, CBH, PHOS, NAG, BX, AG, LAP )

BG_T2<-ggplot(subTime2_long, aes_string(x = "Herbicide", y= "Activity", fill="Herbicide")) + geom_boxplot(data=subset(subtime1_long,Enzyme=="BG")) + theme_classic() + #facet_wrap(~ Enzyme, scales = "free_y") +
   ggtitle("") + theme(plot.title= element_text( hjust = 0.5, size = 22)) + ylab("Activity (nmol/h/g)") + xlab("Weed removal treatment") + scale_fill_discrete(name = "Weed removal\n treatment", labels = c("Handweeded", "Nontreated", "Aatrex", "Clarity", "Roundup\nPowermax")) + theme(axis.text.y = element_text(size=12))  + 
  theme(axis.ticks = element_blank(), axis.text.x = element_blank(), axis.title.x = element_text(size = 12))  + 
       theme(strip.text.x = element_text(size = 9, colour = "black", angle = 0)) + theme(axis.title.y = element_text(size=15)) 


phos_T2<-ggplot(subTime2_long, aes_string(x = "Herbicide", y= "Activity", fill="Herbicide")) + geom_boxplot(data=subset(subTime2_long,Enzyme=="PHOS")) + theme_classic()+
#ggplot(subtime1_long, aes_string(x = "Herbicide", y= "Activity", fill="Herbicide")) + geom_boxplot() +theme_classic() + facet_wrap(~ Enzyme, scales = "free_y")  +
  theme(plot.title= element_text( hjust = 0.5, size = 22)) + ylab("")  + scale_fill_discrete(name = "Weed removal\n treatment", labels = c("Handweeded", "Nontreated", "Aatrex", "Clarity", "Roundup\nPowermax")) + theme(axis.text.y = element_text(size=12))  + 
  theme(axis.ticks = element_blank(), axis.text.x = element_blank(), axis.title.x = element_text(size = 14))  + 
       theme(strip.text.x = element_text(size = 9, colour = "black", angle = 0)) + theme(axis.title.y = element_text(size=15)) + ylim(50,180)+ theme(legend.position="none") + xlab("Weed removal treatment")

#multivariate
enz_table<-sub_Time2[,c("BG", "CBH", "PHOS", "NAG", "BX", "AG", "LAP")]
samp_data <- sub_Time2[,c("Herbicide", "Treatment", "Total_Weed_Veg", "LQ_PW", "PW_Tot")]

psdist<-parDist(as.matrix(enz_table), method = "bray")

adonis2(psdist ~ Herbicide + Total_Weed_Veg, data = data.frame(samp_data), permutations = 1000)
Permutation test for adonis under reduced model
Terms added sequentially (first to last)
Permutation: free
Number of permutations: 1000

adonis2(formula = psdist ~ Herbicide + Total_Weed_Veg, data = data.frame(samp_data), permutations = 1000)
               Df SumOfSqs      R2      F  Pr(>F)  
Herbicide       4  0.06391 0.19595 1.1261 0.36364  
Total_Weed_Veg  1  0.06360 0.19501 4.4826 0.03397 *
Residual       14  0.19865 0.60904                 
Total          19  0.32616 1.00000                 
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Time2_ord<-metaMDS(na.omit(sub_Time2[,c("BG", "CBH", "PHOS", "NAG", "BX", "AG", "LAP")]), distance = "bray" )
Square root transformation
Wisconsin double standardization
Run 0 stress 0.06830105 
Run 1 stress 0.08079765 
Run 2 stress 0.3727483 
Run 3 stress 0.08117721 
Run 4 stress 0.08902573 
Run 5 stress 0.08068851 
Run 6 stress 0.08510749 
Run 7 stress 0.08113437 
Run 8 stress 0.07255906 
Run 9 stress 0.06830106 
... Procrustes: rmse 1.130619e-05  max resid 3.771519e-05 
... Similar to previous best
Run 10 stress 0.0861933 
Run 11 stress 0.07104985 
Run 12 stress 0.08105518 
Run 13 stress 0.06807439 
... New best solution
... Procrustes: rmse 0.01278134  max resid 0.04367879 
Run 14 stress 0.07148786 
Run 15 stress 0.07255902 
Run 16 stress 0.07255895 
Run 17 stress 0.07284964 
Run 18 stress 0.08601962 
Run 19 stress 0.08087363 
Run 20 stress 0.07104982 
*** Best solution was not repeated -- monoMDS stopping criteria:
    20: stress ratio > sratmax
stressplot(Time2_ord)




ord<-Time2_ord
#make the plot with everything 
d <- gg_ordiplot(ord, samp_data$Total_Weed_Veg, choices = c(1, 2), kind = c("se"), conf = 0.95, show.groups = "all", ellipse = TRUE, label = FALSE, hull = FALSE, spiders = FALSE, plot = TRUE, pt.size = 1) 
Warning in chol.default(cov, pivot = TRUE) :
  the matrix is either rank-deficient or indefinite
Warning in chol.default(cov, pivot = TRUE) :
  the matrix is either rank-deficient or indefinite
Warning in chol.default(cov, pivot = TRUE) :
  the matrix is either rank-deficient or indefinite
Warning in chol.default(cov, pivot = TRUE) :
  the matrix is either rank-deficient or indefinite
Warning in chol.default(cov, pivot = TRUE) :
  the matrix is either rank-deficient or indefinite
Warning in chol.default(cov, pivot = TRUE) :
  the matrix is either rank-deficient or indefinite
Warning in chol.default(cov, pivot = TRUE) :
  the matrix is either rank-deficient or indefinite
Warning in chol.default(cov, pivot = TRUE) :
  the matrix is either rank-deficient or indefinite
Warning in chol.default(cov, pivot = TRUE) :
  the matrix is either rank-deficient or indefinite
Warning in chol.default(cov, pivot = TRUE) :
  the matrix is either rank-deficient or indefinite

#pull out the ellipses
df_ellipse <- d$df_ellipse
ellipseG1 <- subset(df_ellipse, Group == "Hand", droplevels= TRUE)
ellipseG2 <- subset(df_ellipse, Group == "Non-Treated", droplevels= TRUE)
ellipseG3 <- subset(df_ellipse, Group == "Aatrex", droplevels= TRUE)
ellipseG4 <- subset(df_ellipse, Group == "Clarity", droplevels= TRUE)
ellipseG5 <- subset(df_ellipse, Group == "Roundup Powermax", droplevels= TRUE)


#make the dataframe and subset out samples you dont want to plot
test<-d$df_ord
test$Sample_ID<-rownames(test)
test$LQ_PW<-samp_data$LQ_PW
test$PW_Tot<-samp_data$PW_Tot
#test$Group=NULL
names(test)<-c("x", "y","Total Weedy Vegetation", "Sample_ID", "LQ_PW" , "PW_Tot")

#make the ggplot scatter plot
plot_test<-ggplot(test, aes(x=test$x, y=test$y, size=`Total Weedy Vegetation`, color=PW_Tot))  +# scale_color_manual(values=c("#F8766D", "#A3A500", "#00BF7D", "#00B0F6", "#E76BF3")) + 
geom_point()
#add paths, color, and size, of the hulls
plot_test <- plot_test +
    geom_path(data= ellipseG1, aes(x=x, y=y), color="#F8766D", linetype="solid", size=1.0) +
    geom_path(data= ellipseG2, aes(x=x, y=y), color="#A3A500", linetype="solid", size=1.0) +
    geom_path(data= ellipseG3, aes(x=x, y=y), color="#00BF7D", linetype="solid", size=1.0) +
    geom_path(data= ellipseG4, aes(x=x, y=y), color="#00B0F6", linetype="solid", size=1.0) +
    geom_path(data= ellipseG5, aes(x=x, y=y), color="#E76BF3", linetype="solid", size=1.0) 
#theme it on up
plot_test<- plot_test + theme_classic()
m<-plot_test 
#m <-m + annotate("text", x = -0.05, y = -0.012, label = "Time 2")
#m <-m + annotate("text", x = 0.01, y = -0.01, label = "Time 3")
#m <-m + annotate("text", x = 0.045, y = -0.023, label = "Time 1")
#m <-m + annotate("text", x = 0.4, y = -0.5, label = "Time: P  > 0.8")
m<- m + labs(x= "NMDS2", y="NMDS1")
g <- m + ggtitle("") + theme(plot.title = element_text(hjust = 0.5, size = 22))  + scale_fill_discrete(name = "Herbicide", labels = c("Handweeded", "Nontreated", "Aatrex", "Clarity", "Roundup\nPowermax")) 
g
Warning: Using size for a discrete variable is not advised.

Time 3 comparison to handweed

enzymes<- c("BG", "CBH", "PHOS", "NAG", "BX", "AG", "LAP")
sub_Time3 <- Time2[!is.na(Time3$LAP),]
sub_Time3$Herbicide<-factor(sub_Time3$Herbicide, levels = c( "Hand", "Non-Treated", "Aatrex", "Clarity", "Roundup Powermax"), ordered = F)
#univariate
out<-list()
models_out<-list()
p.predict<-list()

for(i in 1:(length(enzymes))){
  mod_herb <- glm(formula = noquote(paste(enzymes[i], "~ Herbicide + Total_Weed_Veg", sep = "")), family = gaussian(link = "identity"), data = sub_Time3)
  mod_inter <- glm(formula = noquote(paste(enzymes[i], "~ 1", sep = "")), family = gaussian(link = "identity"), data = sub_Time3)
  ##3rd model? 
  glob_sig<-anova(mod_inter, mod_herb, test = "F")
    if(glob_sig$`Pr(>F)`[2]<=0.05){
        test_stats<-c(glob_sig$`Resid. Df`[2], glob_sig$Df[2], glob_sig$F[2], glob_sig$`Pr(>F)`[2])
        names(test_stats) <- c("DF_res", "DF", "F", "p-val")
        sum_model<-summary(mod_herb)
        post_hoc<-summary(glht(mod_herb, mcp(Herbicide="Dunnett")))
         # p<-anova(mod_herb, mod_inter)
        #  p.vals<-c(p.vals, list(p))
        significance_predic<-drop1(mod_herb, test = "F")
        out<-c(out, list(post_hoc), enzymes[i])
        models_out <- c(models_out, enzymes[i], list(test_stats), list(sum_model))
        p.predict <- c(p.predict, list(significance_predic), enzymes[i])
    }

}


models_out
[[1]]
[1] "PHOS"

[[2]]
     DF_res          DF           F       p-val 
12.00000000  5.00000000  3.19459191  0.04606727 

[[3]]

Call:
glm(formula = noquote(paste(enzymes[i], "~ Herbicide + Total_Weed_Veg", 
    sep = "")), family = gaussian(link = "identity"), data = sub_Time3)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-32.469  -13.845    5.629   10.478   29.181  

Coefficients:
                          Estimate Std. Error t value Pr(>|t|)    
(Intercept)                139.237     14.146   9.843 4.25e-07 ***
HerbicideNon-Treated       -93.112     30.908  -3.013   0.0108 *  
HerbicideAatrex            -37.041     15.816  -2.342   0.0373 *  
HerbicideClarity           -35.644     15.816  -2.254   0.0437 *  
HerbicideRoundup Powermax   -9.086     16.624  -0.547   0.5947    
Total_Weed_Veg               8.164      4.630   1.763   0.1033    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for gaussian family taken to be 457.4097)

    Null deviance: 12795.1  on 17  degrees of freedom
Residual deviance:  5488.9  on 12  degrees of freedom
AIC: 168.04

Number of Fisher Scoring iterations: 2
p.predict
[[1]]
Single term deletions

Model:
PHOS ~ Herbicide + Total_Weed_Veg
               Df Deviance    AIC F value  Pr(>F)  
<none>              5488.9 168.04                  
Herbicide       4  12655.2 175.08  3.9168 0.02928 *
Total_Weed_Veg  1   6910.9 170.19  3.1087 0.10330  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

[[2]]
[1] "PHOS"
out
[[1]]

     Simultaneous Tests for General Linear Hypotheses

Multiple Comparisons of Means: Dunnett Contrasts


Fit: glm(formula = noquote(paste(enzymes[i], "~ Herbicide + Total_Weed_Veg", 
    sep = "")), family = gaussian(link = "identity"), data = sub_Time3)

Linear Hypotheses:
                             Estimate Std. Error z value Pr(>|z|)  
Non-Treated - Hand == 0       -93.112     30.908  -3.013   0.0101 *
Aatrex - Hand == 0            -37.041     15.816  -2.342   0.0691 .
Clarity - Hand == 0           -35.644     15.816  -2.254   0.0857 .
Roundup Powermax - Hand == 0   -9.086     16.624  -0.547   0.9590  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Adjusted p values reported -- single-step method)


[[2]]
[1] "PHOS"

Time 3 to non-treated

enzymes<- c("BG", "CBH", "PHOS", "NAG", "BX", "AG", "LAP")
sub_Time3 <- Time2[!is.na(Time3$LAP),]
sub_Time3$Herbicide<-factor(sub_Time3$Herbicide, levels = c(  "Non-Treated", "Hand", "Aatrex", "Clarity", "Roundup Powermax"), ordered = F)
#univariate
out<-list()
models_out<-list()
p.predict<-list()

for(i in 1:(length(enzymes))){
  mod_herb <- glm(formula = noquote(paste(enzymes[i], "~ Herbicide + Total_Weed_Veg", sep = "")), family = gaussian(link = "identity"), data = sub_Time3)
  mod_inter <- glm(formula = noquote(paste(enzymes[i], "~ 1", sep = "")), family = gaussian(link = "identity"), data = sub_Time3)
  ##3rd model? 
  glob_sig<-anova(mod_inter, mod_herb, test = "F")
    if(glob_sig$`Pr(>F)`[2]<=0.05){
        test_stats<-c(glob_sig$`Resid. Df`[2], glob_sig$Df[2], glob_sig$F[2], glob_sig$`Pr(>F)`[2])
        names(test_stats) <- c("DF_res", "DF", "F", "p-val")
        sum_model<-summary(mod_herb)
        post_hoc<-summary(glht(mod_herb, mcp(Herbicide="Dunnett")))
         # p<-anova(mod_herb, mod_inter)
        #  p.vals<-c(p.vals, list(p))
        significance_predic<-drop1(mod_herb, test = "F")
        out<-c(out, list(post_hoc), enzymes[i])
        models_out <- c(models_out, enzymes[i], list(test_stats), list(sum_model))
        p.predict <- c(p.predict, list(significance_predic), enzymes[i])
    }

}


models_out
[[1]]
[1] "PHOS"

[[2]]
     DF_res          DF           F       p-val 
12.00000000  5.00000000  3.19459191  0.04606727 

[[3]]

Call:
glm(formula = noquote(paste(enzymes[i], "~ Herbicide + Total_Weed_Veg", 
    sep = "")), family = gaussian(link = "identity"), data = sub_Time3)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-32.469  -13.845    5.629   10.478   29.181  

Coefficients:
                          Estimate Std. Error t value Pr(>|t|)  
(Intercept)                 46.124     37.586   1.227   0.2433  
HerbicideHand               93.112     30.908   3.013   0.0108 *
HerbicideAatrex             56.071     34.925   1.605   0.1344  
HerbicideClarity            57.468     27.088   2.122   0.0554 .
HerbicideRoundup Powermax   84.027     34.132   2.462   0.0299 *
Total_Weed_Veg               8.164      4.630   1.763   0.1033  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for gaussian family taken to be 457.4097)

    Null deviance: 12795.1  on 17  degrees of freedom
Residual deviance:  5488.9  on 12  degrees of freedom
AIC: 168.04

Number of Fisher Scoring iterations: 2
p.predict
[[1]]
Single term deletions

Model:
PHOS ~ Herbicide + Total_Weed_Veg
               Df Deviance    AIC F value  Pr(>F)  
<none>              5488.9 168.04                  
Herbicide       4  12655.2 175.08  3.9168 0.02928 *
Total_Weed_Veg  1   6910.9 170.19  3.1087 0.10330  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

[[2]]
[1] "PHOS"
out
[[1]]

     Simultaneous Tests for General Linear Hypotheses

Multiple Comparisons of Means: Dunnett Contrasts


Fit: glm(formula = noquote(paste(enzymes[i], "~ Herbicide + Total_Weed_Veg", 
    sep = "")), family = gaussian(link = "identity"), data = sub_Time3)

Linear Hypotheses:
                                    Estimate Std. Error z value Pr(>|z|)   
Hand - Non-Treated == 0                93.11      30.91   3.013  0.00633 **
Aatrex - Non-Treated == 0              56.07      34.93   1.605  0.20094   
Clarity - Non-Treated == 0             57.47      27.09   2.122  0.06999 . 
Roundup Powermax - Non-Treated == 0    84.03      34.13   2.462  0.03066 * 
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Adjusted p values reported -- single-step method)


[[2]]
[1] "PHOS"
#convert to long format for ggplot
subTime3_long <- sub_Time3[,c("Herbicide", "BG", "CBH", "PHOS", "NAG", "BX", "AG", "LAP")] %>% 
  gather(key = "Enzyme", value = "Activity",BG, CBH, PHOS, NAG, BX, AG, LAP )

PHOS_T3<-ggplot(subTime3_long, aes_string(x = "Herbicide", y= "Activity", fill="Herbicide")) + geom_boxplot(data=subset(subtime1_long,Enzyme=="PHOS")) + theme_classic() + #facet_wrap(~ Enzyme, scales = "free_y") +
   ggtitle("") + theme(plot.title= element_text( hjust = 0.5, size = 22)) + ylab("") + xlab("") + scale_fill_discrete(name = "Weed removal\n treatment", labels = c("Handweeded", "Nontreated", "Aatrex", "Clarity", "Roundup\nPowermax")) + theme(axis.text.y = element_text(size=12))  + 
  theme(axis.ticks = element_blank(), axis.text.x = element_blank(), axis.title.x = element_text(size = 12))  + 
       theme(strip.text.x = element_text(size = 9, colour = "black", angle = 0)) + theme(axis.title.y = element_text(size=15)) + ylim(50,180) + theme(legend.position="none")



#multivariate
enz_table<-sub_Time3[,c("BG", "CBH", "PHOS", "NAG", "BX", "AG", "LAP")]
samp_data <- sub_Time3[,c("Herbicide", "Treatment", "Total_Weed_Veg")]

psdist<-parDist(as.matrix(enz_table), method = "bray")

adonis2(psdist ~ Herbicide + Total_Weed_Veg, data = data.frame(samp_data), permutations = 1000)
Permutation test for adonis under reduced model
Terms added sequentially (first to last)
Permutation: free
Number of permutations: 1000

adonis2(formula = psdist ~ Herbicide + Total_Weed_Veg, data = data.frame(samp_data), permutations = 1000)
               Df SumOfSqs      R2      F  Pr(>F)  
Herbicide       4 0.063414 0.20064 1.0298 0.43756  
Total_Weed_Veg  1 0.067903 0.21484 4.4108 0.03896 *
Residual       12 0.184737 0.58451                 
Total          17 0.316054 1.00000                 
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Time3_ord<-metaMDS(na.omit(sub_Time3[,c("BG", "CBH", "PHOS", "NAG", "BX", "AG", "LAP")]), distance = "bray" )
Square root transformation
Wisconsin double standardization
Run 0 stress 0.06454823 
Run 1 stress 0.08916425 
Run 2 stress 0.07144387 
Run 3 stress 0.08795023 
Run 4 stress 0.08820952 
Run 5 stress 0.08595032 
Run 6 stress 0.07753807 
Run 7 stress 0.07990855 
Run 8 stress 0.08271517 
Run 9 stress 0.06464726 
... Procrustes: rmse 0.03306517  max resid 0.08958612 
Run 10 stress 0.06916108 
Run 11 stress 0.08271518 
Run 12 stress 0.06916115 
Run 13 stress 0.06916109 
Run 14 stress 0.08216972 
Run 15 stress 0.0859902 
Run 16 stress 0.06997775 
Run 17 stress 0.06464723 
... Procrustes: rmse 0.03306141  max resid 0.08950829 
Run 18 stress 0.07907735 
Run 19 stress 0.08271525 
Run 20 stress 0.06916112 
*** Best solution was not repeated -- monoMDS stopping criteria:
    20: stress ratio > sratmax
stressplot(Time3_ord)


ord<-Time3_ord
#make the plot with everything 
d <- gg_ordiplot(ord, samp_data$Herbicide, choices = c(1, 2), kind = c("se"), conf = 0.95, show.groups = "all", ellipse = TRUE, label = FALSE, hull = FALSE, spiders = FALSE, plot = TRUE, pt.size = 1) 

#pull out the ellipses
df_ellipse <- d$df_ellipse
ellipseG1 <- subset(df_ellipse, Group == "Hand", droplevels= TRUE)
ellipseG2 <- subset(df_ellipse, Group == "Non-Treated", droplevels= TRUE)
ellipseG3 <- subset(df_ellipse, Group == "Aatrex", droplevels= TRUE)
ellipseG4 <- subset(df_ellipse, Group == "Clarity", droplevels= TRUE)
ellipseG5 <- subset(df_ellipse, Group == "Roundup Powermax", droplevels= TRUE)


#make the dataframe and subset out samples you dont want to plot
test<-d$df_ord
test$Sample_ID<-rownames(test)
#test$Group=NULL
names(test)<-c("x", "y","Herbicide")

#make the ggplot scatter plot
plot_test<-ggplot(test, aes(x=test$x, y=test$y), color=Herbicide)  + scale_color_manual(values=c("#F8766D", "#A3A500", "#00BF7D", "#00B0F6", "#E76BF3")) + geom_point(aes(color= Herbicide))


#add paths, color, and size, of the hulls
plot_test <- plot_test +
    geom_path(data= ellipseG1, aes(x=x, y=y), color="#F8766D", linetype="solid", size=1.0) +
    geom_path(data= ellipseG2, aes(x=x, y=y), color="#A3A500", linetype="solid", size=1.0) +
    geom_path(data= ellipseG3, aes(x=x, y=y), color="#00BF7D", linetype="solid", size=1.0) +
    geom_path(data= ellipseG4, aes(x=x, y=y), color="#00B0F6", linetype="solid", size=1.0) +
    geom_path(data= ellipseG5, aes(x=x, y=y), color="#E76BF3", linetype="solid", size=1.0) 
#theme it on up
plot_test<- plot_test + theme_classic()
m<-plot_test 
#m <-m + annotate("text", x = -0.05, y = -0.012, label = "Time 2")
#m <-m + annotate("text", x = 0.01, y = -0.01, label = "Time 3")
#m <-m + annotate("text", x = 0.045, y = -0.023, label = "Time 1")
#m <-m + annotate("text", x = 0.4, y = -0.5, label = "Time: P  > 0.8")
m<- m + labs(x= "NMDS2", y="NMDS1")
g <- m + ggtitle("") + theme(plot.title = element_text(hjust = 0.5, size = 22))  + scale_fill_discrete(name = "Herbicide", labels = c("Handweeded", "Nontreated", "Aatrex", "Clarity", "Roundup\nPowermax")) 
g
Warning in eval_tidy(x[[2]], data, env) :
  restarting interrupted promise evaluation

library(gridExtra)
grid.arrange(phos_T1, phos_T2, PHOS_T3, nrow=1)

#Split by herbicide

All Together:

#Aatrex
#names(Aatrex)
enzymes<- c("BG", "CBH", "PHOS", "NAG", "BX", "AG", "LAP")
#Aatrex$Herbicide<-factor(Aatrex$Herbicide, levels = c("Non-Treated", "Hand", "Aatrex", "Clarity", "Roundup Powermax"), ordered = F)
#univariate
sub_enz_only <- enz_only[!is.na(enz_only$LAP),]
sub_enz_only <- sub_enz_only[!sub_enz_only$Herbicide=="Non-Treated",]
sub_enz_only <- sub_enz_only[!sub_enz_only$Time=="T1",]


#convert to long format for ggplot
subenz_long <- sub_enz_only[,c("Time", "BG", "CBH", "PHOS", "NAG", "BX", "AG", "LAP")] %>% 
  gather(key = "Enzyme", value = "Activity",BG, CBH, PHOS, NAG, BX, AG, LAP )

ggplot(subenz_long, aes_string(x = "Time", y= "Activity", fill="Time")) + geom_boxplot() + theme_classic() + facet_wrap(~ Enzyme, scales = "free_y") + theme(axis.text.x = element_text(angle = 45, hjust = 1)) + ggtitle("All samples by time") + theme(plot.title= element_text( hjust = 0.5, size = 22))


#multivariate
enz_table<-sub_enz_only[,c("BG", "CBH", "PHOS", "NAG", "BX", "AG", "LAP")]
samp_data <- sub_enz_only[,c("Time", "Treatment", "Total_Weed_Veg")]

psdist<-parDist(as.matrix(enz_table), method = "bray")

adonis2(psdist ~ Treatment + Total_Weed_Veg, data = data.frame(samp_data), permutations = 1000)
Permutation test for adonis under reduced model
Terms added sequentially (first to last)
Permutation: free
Number of permutations: 1000

adonis2(formula = psdist ~ Treatment + Total_Weed_Veg, data = data.frame(samp_data), permutations = 1000)
               Df SumOfSqs      R2      F  Pr(>F)  
Treatment       1  0.04473 0.10724 3.4103 0.04995 *
Total_Weed_Veg  1  0.00511 0.01226 0.3899 0.66933  
Residual       28  0.36726 0.88050                 
Total          30  0.41710 1.00000                 
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Aatrex_ord<-metaMDS(na.omit(sub_enz_only[,c("BG", "CBH", "PHOS", "NAG", "BX", "AG", "LAP")]), distance = "bray" )
Square root transformation
Wisconsin double standardization
Run 0 stress 0.09605016 
Run 1 stress 0.09515319 
... New best solution
... Procrustes: rmse 0.04162516  max resid 0.186069 
Run 2 stress 0.1119206 
Run 3 stress 0.0995724 
Run 4 stress 0.09455281 
... New best solution
... Procrustes: rmse 0.02802476  max resid 0.1442835 
Run 5 stress 0.1032063 
Run 6 stress 0.1118813 
Run 7 stress 0.1066645 
Run 8 stress 0.09635027 
Run 9 stress 0.1066642 
Run 10 stress 0.1172666 
Run 11 stress 0.115371 
Run 12 stress 0.1145317 
Run 13 stress 0.118284 
Run 14 stress 0.09605015 
Run 15 stress 0.1059765 
Run 16 stress 0.1239954 
Run 17 stress 0.09515321 
Run 18 stress 0.1118813 
Run 19 stress 0.1032063 
Run 20 stress 0.1018694 
*** Best solution was not repeated -- monoMDS stopping criteria:
    19: stress ratio > sratmax
     1: scale factor of the gradient < sfgrmin
stressplot(Aatrex_ord)


ord<-Aatrex_ord
#make the plot with everything 
d <- gg_ordiplot(ord, samp_data$Time, choices = c(1, 2), kind = c("se"), conf = 0.95, show.groups = "all", ellipse = TRUE, label = FALSE, hull = FALSE, spiders = FALSE, plot = TRUE, pt.size = 1) 

#pull out the ellipses
df_ellipse <- d$df_ellipse
ellipseG1 <- subset(df_ellipse, Group == "T1", droplevels= TRUE)
ellipseG2 <- subset(df_ellipse, Group == "T2", droplevels= TRUE)
ellipseG3 <- subset(df_ellipse, Group == "T3", droplevels= TRUE)


#make the dataframe and subset out samples you dont want to plot
test<-d$df_ord
test$Sample_ID<-rownames(test)
#test$Group=NULL
names(test)<-c("x", "y","Time")

#make the ggplot scatter plot
plot_test<-ggplot(test, aes(x=test$x, y=test$y), color=Time)  + scale_color_manual(values=c("#F564E3", "#619CFF", "#F8766D", "#009E73", "#000000")) + geom_point(aes(color= Time))
#add paths, color, and size, of the hulls
plot_test <- plot_test +
    geom_path(data= ellipseG1, aes(x=x, y=y), color="#F564E3", linetype="solid", size=1.0) +
    geom_path(data= ellipseG2, aes(x=x, y=y), color="#619CFF", linetype="solid", size=1.0) +
    geom_path(data= ellipseG3, aes(x=x, y=y), color="#F8766D", linetype="solid", size=1.0) 

#theme it on up
plot_test<- plot_test + theme_classic()
m<-plot_test 
#m <-m + annotate("text", x = -0.05, y = -0.012, label = "Time 2")
#m <-m + annotate("text", x = 0.01, y = -0.01, label = "Time 3")
#m <-m + annotate("text", x = 0.045, y = -0.023, label = "Time 1")
#m <-m + annotate("text", x = 0.4, y = -0.5, label = "Time: P  > 0.8")
m<- m + labs(x= "NMDS2", y="NMDS1")
g <- m + ggtitle("Aatrex by time") + theme(plot.title = element_text(hjust = 0.5, size = 22))  
g
Warning in eval_tidy(x[[2]], data, env) :
  restarting interrupted promise evaluation

#adonis2 testing and pairwise comparisons for all t2 t3 samples 
library(pairwiseAdonis)
sub_enz_only <- enz_only[!is.na(enz_only$LAP),]
#sub_enz_only <- sub_enz_only[!sub_enz_only$Herbicide=="Non-Treated",]
sub_enz_only <- sub_enz_only[!sub_enz_only$Time=="T1",]
enz_table<-sub_enz_only[,c("BG", "CBH", "PHOS", "NAG", "BX", "AG", "LAP")]
samp_data <- sub_enz_only[,c("Time", "Treatment")]
samp_data$Treatment<-as.factor(samp_data$Treatment)
psdist<-parDist(as.matrix(enz_table), method = "bray")

adonis2(psdist ~ Treatment, data = data.frame(samp_data), permutations = 1000)
Permutation test for adonis under reduced model
Terms added sequentially (first to last)
Permutation: free
Number of permutations: 1000

adonis2(formula = psdist ~ Treatment, data = data.frame(samp_data), permutations = 1000)
          Df SumOfSqs      R2      F Pr(>F)
Treatment  4  0.06846 0.11686 1.0917 0.3606
Residual  33  0.51736 0.88314              
Total     37  0.58583 1.00000              
pairwise_treat<-pairwise.adonis2(psdist ~ Treatment, data = samp_data, perm=1000, p.adjust.methods="bonferroni")


#examination of changes over time. 
sub_enz_only <- enz_only[!is.na(enz_only$LAP),]
#sub_enz_only <- sub_enz_only[!sub_enz_only$Herbicide=="Non-Treated",]
sub_enz_only <- sub_enz_only[sub_enz_only$Herbicide=="Hand",]
enz_table<-sub_enz_only[,c("BG", "CBH", "PHOS", "NAG", "BX", "AG", "LAP")]
samp_data <- sub_enz_only[,c("Time", "Treatment")]
psdist<-parDist(as.matrix(enz_table), method = "bray")
adonis2(psdist ~ Time , data = data.frame(samp_data), permutations = 1000)
Permutation test for adonis under reduced model
Terms added sequentially (first to last)
Permutation: free
Number of permutations: 1000

adonis2(formula = psdist ~ Time, data = data.frame(samp_data), permutations = 1000)
         Df SumOfSqs      R2      F   Pr(>F)   
Time      2 0.116937 0.60731 6.9594 0.001998 **
Residual  9 0.075613 0.39269                   
Total    11 0.192550 1.00000                   
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
pairwise_time<-pairwise.adonis2(psdist ~ Time, data = samp_data, perm=1000, p.adjust.methods="bonferroni")
pairwise_time
$parent_call
[1] "psdist ~ Time , strata = Null , permutations 999"

$T1_vs_T2
         Df SumOfSqs      R2     F  Pr(>F)  
Time      1 0.113421 0.74294 17.34 0.02897 *
Residual  6 0.039245 0.25706                
Total     7 0.152666 1.00000                
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

$T1_vs_T3
         Df SumOfSqs      R2      F  Pr(>F)  
Time      1 0.043672 0.43039 4.5336 0.04496 *
Residual  6 0.057799 0.56961                 
Total     7 0.101471 1.00000                 
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

$T2_vs_T3
         Df SumOfSqs      R2      F Pr(>F)
Time      1 0.018313 0.25261 2.0279 0.1778
Residual  6 0.054182 0.74739              
Total     7 0.072495 1.00000              

attr(,"class")
[1] "pwadstrata" "list"      

Aatrex with global test.

#Aatrex
#names(Aatrex)
enzymes<- c("BG", "CBH", "PHOS", "NAG", "BX", "AG", "LAP")
#Aatrex$Herbicide<-factor(Aatrex$Herbicide, levels = c("Non-Treated", "Hand", "Aatrex", "Clarity", "Roundup Powermax"), ordered = F)
#univariate
sub_Aatrex <- Aatrex[!is.na(Aatrex$LAP),]
#univariate
out<-list()
models_out<-list()
p.predict<-list()

for(i in 1:(length(enzymes))){
  mod_herb <- glm(formula = noquote(paste(enzymes[i], "~ Time + Total_Weed_Veg", sep = "")), family = gaussian(link = "identity"), data = sub_Aatrex)
  mod_inter <- glm(formula = noquote(paste(enzymes[i], "~ 1", sep = "")), family = gaussian(link = "identity"), data = sub_Aatrex)
  glob_sig<-anova(mod_inter, mod_herb, test = "F")
    if(glob_sig$`Pr(>F)`[2]<=0.05){
        test_stats<-c(glob_sig$`Resid. Df`, glob_sig$F[2], glob_sig$`Pr(>F)`[2])
        names(test_stats) <- c("DF_res", "DF_null", "F-stat", "p-val")
        sum_model<-summary(mod_herb)
        post_hoc<-summary(glht(mod_herb, mcp(Time="Tukey")))
    # p<-anova(mod_herb, mod_inter)
        #  p.vals<-c(p.vals, list(p))
        significance_predic<-drop1(mod_herb, test = "F")
        out<-c(out, list(post_hoc), enzymes[i])
        models_out <- c(models_out, enzymes[i], list(test_stats), list(sum_model))
        p.predict <- c(p.predict, list(significance_predic), enzymes[i])
    }

}
models_out
list()
p.predict
list()
out
list()
#convert to long format for ggplot
subAatrex_long <- sub_Aatrex[,c("Time", "BG", "CBH", "PHOS", "NAG", "BX", "AG", "LAP", "C.N_enz")] %>% 
  gather(key = "Enzyme", value = "Activity",BG, CBH, PHOS, NAG, BX, AG, LAP, C.N_enz )

#ggplot(subAatrex_long, aes_string(x = "Time", y= "Activity", fill="Time")) + geom_boxplot() + theme_classic() + facet_wrap(~ Enzyme, scales = "free_y") + theme(axis.text.x = element_text(angle = 45, hjust = 1)) + ggtitle("Aatrex by time") + theme(plot.title= element_text( hjust = 0.5, size = 22))

dose.labs <- c("AG","BG","BX","PHOS", "C enzymes : N enzymes")
names(dose.labs) <- c("AG","BG", "BX", "PHOS", "C.N_enz")

aaUV1<-ggplot(subAatrex_long, aes_string(x = "Time", y= "Activity", fill="Time")) + geom_boxplot() + theme_classic() + facet_wrap(~ Enzyme, scales = "free_y", labeller = labeller(Enzyme = dose.labs)) + theme_classic() +
   ggtitle("") + theme(plot.title= element_text( hjust = 0.5, size = 22)) + ylab("Activity (nmol/h/g)") + xlab("Sampling time")  + scale_fill_discrete(name = "Sampling time", labels = c("Time one", "Time two", "Time three")) + theme(axis.text.y = element_text(size=12))  + 
  theme(axis.ticks = element_blank(), axis.text.x = element_blank(), axis.title.x = element_text(size = 12))  + 
       theme(strip.text.x = element_text(size = 9, colour = "black", angle = 0)) + theme(axis.title.y = element_text(size=15))  +  theme(strip.text.x = element_text(size =  12)) #theme(legend.position="none") + 

#multivariate
enz_table<-sub_Aatrex[,c("BG", "CBH", "PHOS", "NAG", "BX", "AG", "LAP")]
samp_data <- sub_Aatrex[,c("Time", "Treatment", "Total_Weed_Veg")]

psdist<-parDist(as.matrix(enz_table), method = "bray")

adonis2(psdist ~ Time + Total_Weed_Veg, data = data.frame(samp_data), permutations = 1000)
Permutation test for adonis under reduced model
Terms added sequentially (first to last)
Permutation: free
Number of permutations: 1000

adonis2(formula = psdist ~ Time + Total_Weed_Veg, data = data.frame(samp_data), permutations = 1000)
               Df SumOfSqs      R2      F Pr(>F)
Time            2 0.021240 0.13456 0.7286 0.5534
Total_Weed_Veg  1 0.019997 0.12668 1.3719 0.2657
Residual        8 0.116608 0.73875              
Total          11 0.157845 1.00000              
Aatrex_ord<-metaMDS(na.omit(sub_Aatrex[,c("BG", "CBH", "PHOS", "NAG", "BX", "AG", "LAP")]), distance = "bray" )
Square root transformation
Wisconsin double standardization
Run 0 stress 0.05299772 
Run 1 stress 0.05299773 
... Procrustes: rmse 5.056431e-05  max resid 0.0001084376 
... Similar to previous best
Run 2 stress 0.0595568 
Run 3 stress 0.0595568 
Run 4 stress 0.05955681 
Run 5 stress 0.05299772 
... New best solution
... Procrustes: rmse 1.282965e-05  max resid 3.020205e-05 
... Similar to previous best
Run 6 stress 0.05299773 
... Procrustes: rmse 2.679368e-05  max resid 5.981211e-05 
... Similar to previous best
Run 7 stress 0.05299772 
... Procrustes: rmse 1.113708e-05  max resid 1.9283e-05 
... Similar to previous best
Run 8 stress 0.05299772 
... Procrustes: rmse 1.798482e-05  max resid 3.744637e-05 
... Similar to previous best
Run 9 stress 0.06766168 
Run 10 stress 0.05299772 
... New best solution
... Procrustes: rmse 2.592028e-06  max resid 4.647295e-06 
... Similar to previous best
Run 11 stress 0.05955681 
Run 12 stress 0.2997668 
Run 13 stress 0.05955684 
Run 14 stress 0.05299774 
... Procrustes: rmse 6.20017e-05  max resid 0.0001447245 
... Similar to previous best
Run 15 stress 0.05299772 
... Procrustes: rmse 9.487156e-06  max resid 2.388833e-05 
... Similar to previous best
Run 16 stress 0.05299772 
... Procrustes: rmse 1.713431e-05  max resid 4.013476e-05 
... Similar to previous best
Run 17 stress 0.0595568 
Run 18 stress 0.0595568 
Run 19 stress 0.2830675 
Run 20 stress 0.05299772 
... Procrustes: rmse 3.820254e-06  max resid 6.920434e-06 
... Similar to previous best
*** Best solution repeated 5 times
stressplot(Aatrex_ord)


ord<-Aatrex_ord
#make the plot with everything 
d <- gg_ordiplot(ord, samp_data$Time, choices = c(1, 2), kind = c("se"), conf = 0.95, show.groups = "all", ellipse = TRUE, label = FALSE, hull = FALSE, spiders = FALSE, plot = TRUE, pt.size = 1) 

#pull out the ellipses
df_ellipse <- d$df_ellipse
ellipseG1 <- subset(df_ellipse, Group == "T1", droplevels= TRUE)
ellipseG2 <- subset(df_ellipse, Group == "T2", droplevels= TRUE)
ellipseG3 <- subset(df_ellipse, Group == "T3", droplevels= TRUE)


#make the dataframe and subset out samples you dont want to plot
test<-d$df_ord
test$Sample_ID<-rownames(test)
#test$Group=NULL
names(test)<-c("x", "y","Time")

#make the ggplot scatter plot
plot_test<-ggplot(test, aes(x=test$x, y=test$y), color=Time)  + scale_color_manual(values=c("#F564E3", "#619CFF", "#F8766D", "#009E73", "#000000")) + geom_point(aes(color= Time))
#add paths, color, and size, of the hulls
plot_test <- plot_test +
    geom_path(data= ellipseG1, aes(x=x, y=y), color="#F564E3", linetype="solid", size=1.0) +
    geom_path(data= ellipseG2, aes(x=x, y=y), color="#619CFF", linetype="solid", size=1.0) +
    geom_path(data= ellipseG3, aes(x=x, y=y), color="#F8766D", linetype="solid", size=1.0) 

#theme it on up
plot_test<- plot_test + theme_classic()
m<-plot_test 
#m <-m + annotate("text", x = -0.05, y = -0.012, label = "Time 2")
#m <-m + annotate("text", x = 0.01, y = -0.01, label = "Time 3")
#m <-m + annotate("text", x = 0.045, y = -0.023, label = "Time 1")
#m <-m + annotate("text", x = 0.4, y = -0.5, label = "Time: P  > 0.8")
m<- m + labs(x= "NMDS2", y="NMDS1")
g <- m + ggtitle("Aatrex by time") + theme(plot.title = element_text(hjust = 0.5, size = 22))  
g
Warning in eval_tidy(x[[2]], data, env) :
  restarting interrupted promise evaluation

Clarity

#Clarity
#names(Clarity)
enzymes<- c("BG", "CBH", "PHOS", "NAG", "BX", "AG", "LAP")
sub_Clarity <- Clarity[!is.na(Clarity$LAP),]
#univariate
out<-list()
models_out<-list()
p.predict<-list()

for(i in 1:(length(enzymes))){
  mod_herb <- glm(formula = noquote(paste(enzymes[i], "~ Time + Total_Weed_Veg", sep = "")), family = gaussian(link = "identity"), data = sub_Clarity)
  mod_inter <- glm(formula = noquote(paste(enzymes[i], "~ 1", sep = "")), family = gaussian(link = "identity"), data = sub_Clarity)
  glob_sig<-anova(mod_inter, mod_herb, test = "F")
    if(glob_sig$`Pr(>F)`[2]<=0.05){
        test_stats<-c(glob_sig$`Resid. Df`, glob_sig$F[2], glob_sig$`Pr(>F)`[2])
        names(test_stats) <- c("DF_res", "DF_null", "F-stat", "p-val")
        sum_model<-summary(mod_herb)
        post_hoc<-summary(glht(mod_herb, mcp(Time="Tukey")))
    # p<-anova(mod_herb, mod_inter)
        #  p.vals<-c(p.vals, list(p))
        significance_predic<-drop1(mod_herb, test = "F")
        out<-c(out, list(post_hoc), enzymes[i])
        models_out <- c(models_out, enzymes[i], list(test_stats), list(sum_model))
        p.predict <- c(p.predict, list(significance_predic), enzymes[i])
    }

}
models_out
list()
p.predict
list()
out
list()
#convert to long format for ggplot
subClarity_long <- sub_Clarity[,c("Time", "BG", "CBH", "PHOS", "NAG", "BX", "AG", "LAP", "C.N_enz")] %>% 
  gather(key = "Enzyme", value = "Activity",BG, CBH, PHOS, NAG, BX, AG, LAP,C.N_enz )

#ggplot(subClarity_long, aes_string(x = "Time", y= "Activity", fill="Time")) + geom_boxplot() + theme_classic() + facet_wrap(~ Enzyme, scales = "free_y") + theme(axis.text.x = element_text(angle = 45, hjust = 1)) + ggtitle("Clarity by time") + theme(plot.title= element_text( hjust = 0.5, size = 22))


dose.labs <- c("AG","BG","BX","PHOS", "C enzymes : N enzymes")
names(dose.labs) <- c("AG","BG", "BX", "PHOS", "C.N_enz")

clUV1<-ggplot(subClarity_long, aes_string(x = "Time", y= "Activity", fill="Time")) + geom_boxplot() + theme_classic() + facet_wrap(~ Enzyme, scales = "free_y", labeller = labeller(Enzyme = dose.labs)) + theme_classic() +
   ggtitle("") + theme(plot.title= element_text( hjust = 0.5, size = 22)) + ylab("Activity (nmol/h/g)") + xlab("Sampling time")  + scale_fill_discrete(name = "Sampling time", labels = c("Time one", "Time two", "Time three")) + theme(axis.text.y = element_text(size=12))  + 
  theme(axis.ticks = element_blank(), axis.text.x = element_blank(), axis.title.x = element_text(size = 12))  + 
       theme(strip.text.x = element_text(size = 9, colour = "black", angle = 0)) + theme(axis.title.y = element_text(size=15))  +  theme(strip.text.x = element_text(size =  12)) #theme(legend.position="none") + 

#multivariate
enz_table<-sub_Clarity[,c("BG", "CBH", "PHOS", "NAG", "BX", "AG", "LAP")]
samp_data <- sub_Clarity[,c("Time", "Treatment", "Total_Weed_Veg")]

psdist<-parDist(as.matrix(enz_table), method = "bray")

adonis2(psdist ~ Time + Total_Weed_Veg, data = data.frame(samp_data), permutations = 1000)
Permutation test for adonis under reduced model
Terms added sequentially (first to last)
Permutation: free
Number of permutations: 1000

adonis2(formula = psdist ~ Time + Total_Weed_Veg, data = data.frame(samp_data), permutations = 1000)
               Df SumOfSqs      R2      F Pr(>F)
Time            2 0.009462 0.05188 0.2424 0.8142
Total_Weed_Veg  1 0.016798 0.09210 0.8608 0.3556
Residual        8 0.156124 0.85601              
Total          11 0.182385 1.00000              
Clarity_ord<-metaMDS(na.omit(sub_Clarity[,c("BG", "CBH", "PHOS", "NAG", "BX", "AG", "LAP")]), distance = "bray" )
Square root transformation
Wisconsin double standardization
Run 0 stress 0.02101681 
Run 1 stress 0.02101685 
... Procrustes: rmse 3.620412e-05  max resid 6.826508e-05 
... Similar to previous best
Run 2 stress 0.0210168 
... New best solution
... Procrustes: rmse 5.43583e-05  max resid 0.0001017165 
... Similar to previous best
Run 3 stress 0.3243301 
Run 4 stress 0.02101683 
... Procrustes: rmse 7.375052e-05  max resid 0.0001365145 
... Similar to previous best
Run 5 stress 0.0210168 
... New best solution
... Procrustes: rmse 2.767795e-05  max resid 5.11665e-05 
... Similar to previous best
Run 6 stress 0.02101682 
... Procrustes: rmse 3.787603e-05  max resid 7.026581e-05 
... Similar to previous best
Run 7 stress 0.02101681 
... Procrustes: rmse 1.508813e-05  max resid 2.781328e-05 
... Similar to previous best
Run 8 stress 0.02101682 
... Procrustes: rmse 3.043025e-05  max resid 5.654389e-05 
... Similar to previous best
Run 9 stress 0.0210168 
... New best solution
... Procrustes: rmse 5.293131e-06  max resid 9.099501e-06 
... Similar to previous best
Run 10 stress 0.07875293 
Run 11 stress 0.3019399 
Run 12 stress 0.0210168 
... Procrustes: rmse 2.803025e-05  max resid 5.245232e-05 
... Similar to previous best
Run 13 stress 0.02101682 
... Procrustes: rmse 6.474392e-05  max resid 0.0001197917 
... Similar to previous best
Run 14 stress 0.02101683 
... Procrustes: rmse 4.766084e-05  max resid 8.822279e-05 
... Similar to previous best
Run 15 stress 0.08802329 
Run 16 stress 0.02101684 
... Procrustes: rmse 5.665249e-05  max resid 0.0001056329 
... Similar to previous best
Run 17 stress 0.02101683 
... Procrustes: rmse 7.433211e-05  max resid 0.0001372225 
... Similar to previous best
Run 18 stress 0.0210168 
... New best solution
... Procrustes: rmse 4.285947e-06  max resid 8.796672e-06 
... Similar to previous best
Run 19 stress 0.02103691 
... Procrustes: rmse 0.002975831  max resid 0.007676425 
... Similar to previous best
Run 20 stress 0.02101684 
... Procrustes: rmse 6.23237e-05  max resid 0.0001168271 
... Similar to previous best
*** Best solution repeated 3 times
stressplot(Clarity_ord)


ord<-Clarity_ord
#make the plot with everything 
d <- gg_ordiplot(ord, samp_data$Time, choices = c(1, 2), kind = c("se"), conf = 0.95, show.groups = "all", ellipse = TRUE, label = FALSE, hull = FALSE, spiders = FALSE, plot = TRUE, pt.size = 1) 

#pull out the ellipses
df_ellipse <- d$df_ellipse
ellipseG1 <- subset(df_ellipse, Group == "T1", droplevels= TRUE)
ellipseG2 <- subset(df_ellipse, Group == "T2", droplevels= TRUE)
ellipseG3 <- subset(df_ellipse, Group == "T3", droplevels= TRUE)


#make the dataframe and subset out samples you dont want to plot
test<-d$df_ord
test$Sample_ID<-rownames(test)
#test$Group=NULL
names(test)<-c("x", "y","Time")

#make the ggplot scatter plot
plot_test<-ggplot(test, aes(x=test$x, y=test$y), color=Time)  + scale_color_manual(values=c("#F564E3", "#619CFF", "#F8766D", "#009E73", "#000000")) + geom_point(aes(color= Time))
#add paths, color, and size, of the hulls
plot_test <- plot_test +
    geom_path(data= ellipseG1, aes(x=x, y=y), color="#F564E3", linetype="solid", size=1.0) +
    geom_path(data= ellipseG2, aes(x=x, y=y), color="#619CFF", linetype="solid", size=1.0) +
    geom_path(data= ellipseG3, aes(x=x, y=y), color="#F8766D", linetype="solid", size=1.0) 

#theme it on up
plot_test<- plot_test + theme_classic()
m<-plot_test 
#m <-m + annotate("text", x = -0.05, y = -0.012, label = "Time 2")
#m <-m + annotate("text", x = 0.01, y = -0.01, label = "Time 3")
#m <-m + annotate("text", x = 0.045, y = -0.023, label = "Time 1")
#m <-m + annotate("text", x = 0.4, y = -0.5, label = "Time: P  > 0.8")
m<- m + labs(x= "NMDS2", y="NMDS1")
g <- m + ggtitle("Clarity by time") + theme(plot.title = element_text(hjust = 0.5, size = 22))  
g
Warning in eval_tidy(x[[2]], data, env) :
  restarting interrupted promise evaluation

Handweed

subHandweed_long <- sub_Handweed[,c("Time", "BG", "CBH", "PHOS", "NAG", "BX", "AG", "LAP", "C.N_enz")] %>% 
  gather(key = "Enzyme", value = "Activity",AG,BG, PHOS, LAP, BX, C.N_enz )

HW_UV<-ggplot(subHandweed_long, aes_string(x = "Time", y= "Activity", fill="Time")) + geom_boxplot() + theme_classic() + facet_wrap(~ Enzyme, scales = "free_y") + theme(axis.text.x = element_text(angle = 45, hjust = 1))  + ggtitle("Handweed by time") + theme(plot.title= element_text( hjust = 0.5, size = 22))

subHandweed_long$Enzyme<-factor(subHandweed_long$Enzyme, levels = c("AG", "BG", "BX", "PHOS", "LAP", "C.N_enz"))

dose.labs <- c("AG","BG","BX","PHOS", "LAP",  "C enzymes : N enzymes")
names(dose.labs) <- c("AG","BG", "BX", "PHOS", "LAP", "C.N_enz")

HW_UV1<-ggplot(subHandweed_long, aes_string(x = "Time", y= "Activity", fill="Time")) + geom_boxplot() + theme_classic() + facet_wrap(~ Enzyme, scales = "free_y", labeller = labeller(Enzyme = dose.labs)) + theme_classic() +
   ggtitle("Handweeded") + theme(plot.title= element_text( hjust = 0.5, size = 15)) + ylab("Activity (nmol/h/g)") + xlab("Sampling time")  + scale_fill_discrete(name = "Sampling time", labels = c("Time one", "Time two", "Time three")) + theme(axis.text.y = element_text(size=12))  + 
  theme(axis.ticks = element_blank(), axis.text.x = element_blank(), axis.title.x = element_text(size = 12))  + 
       theme(strip.text.x = element_text(size = 9, colour = "black", angle = 0)) + theme(axis.title.y = element_text(size=15))  +  theme(strip.text.x = element_text(size =  12)) #theme(legend.position="none") + 

#multivariate
enz_table<-sub_Handweed[,c("BG", "CBH", "PHOS", "NAG", "BX", "AG", "LAP")]
samp_data <- sub_Handweed[,c("Time", "Treatment", "Total_Weed_Veg")]

psdist<-parDist(as.matrix(enz_table), method = "bray")

adonis2(psdist ~ Time + Total_Weed_Veg, data = data.frame(samp_data), permutations = 1000)
Permutation test for adonis under reduced model
Terms added sequentially (first to last)
Permutation: free
Number of permutations: 1000

adonis2(formula = psdist ~ Time + Total_Weed_Veg, data = data.frame(samp_data), permutations = 1000)
               Df SumOfSqs      R2      F   Pr(>F)   
Time            2 0.116937 0.60731 6.6879 0.003996 **
Total_Weed_Veg  1 0.005673 0.02946 0.6490 0.514486   
Residual        8 0.069940 0.36323                   
Total          11 0.192550 1.00000                   
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
pairwise_time_handweed<-pairwise.adonis2(psdist ~ Time, data = samp_data, perm=1000, p.adjust.methods="bonferroni")
pairwise_time_handweed
$parent_call
[1] "psdist ~ Time , strata = Null , permutations 999"

$T1_vs_T2
         Df SumOfSqs      R2     F  Pr(>F)  
Time      1 0.113421 0.74294 17.34 0.03097 *
Residual  6 0.039245 0.25706                
Total     7 0.152666 1.00000                
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

$T1_vs_T3
         Df SumOfSqs      R2      F  Pr(>F)  
Time      1 0.043672 0.43039 4.5336 0.04895 *
Residual  6 0.057799 0.56961                 
Total     7 0.101471 1.00000                 
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

$T2_vs_T3
         Df SumOfSqs      R2      F Pr(>F)
Time      1 0.018313 0.25261 2.0279 0.1638
Residual  6 0.054182 0.74739              
Total     7 0.072495 1.00000              

attr(,"class")
[1] "pwadstrata" "list"      
Handweed_ord<-metaMDS(na.omit(sub_Handweed[,c("BG", "CBH", "PHOS", "NAG", "BX", "AG", "LAP")]), distance = "bray" )
Square root transformation
Wisconsin double standardization
Run 0 stress 0.04799702 
Run 1 stress 0.05647468 
Run 2 stress 0.06915193 
Run 3 stress 0.0745788 
Run 4 stress 0.05647466 
Run 5 stress 0.06915193 
Run 6 stress 0.05647465 
Run 7 stress 0.0571766 
Run 8 stress 0.07467798 
Run 9 stress 0.05647468 
Run 10 stress 0.06968682 
Run 11 stress 0.04799702 
... Procrustes: rmse 1.977542e-05  max resid 3.052088e-05 
... Similar to previous best
Run 12 stress 0.0678856 
Run 13 stress 0.0782971 
Run 14 stress 0.04799702 
... Procrustes: rmse 1.371054e-05  max resid 2.134156e-05 
... Similar to previous best
Run 15 stress 0.04799702 
... Procrustes: rmse 2.073691e-05  max resid 3.130209e-05 
... Similar to previous best
Run 16 stress 0.04799703 
... Procrustes: rmse 3.710636e-05  max resid 5.736705e-05 
... Similar to previous best
Run 17 stress 0.04799703 
... Procrustes: rmse 4.75959e-05  max resid 7.3333e-05 
... Similar to previous best
Run 18 stress 0.04799702 
... Procrustes: rmse 3.05669e-05  max resid 4.756666e-05 
... Similar to previous best
Run 19 stress 0.3361592 
Run 20 stress 0.04799702 
... Procrustes: rmse 9.463679e-06  max resid 1.456435e-05 
... Similar to previous best
*** Best solution repeated 7 times
stressplot(Handweed_ord)


ord<-Handweed_ord
#make the plot with everything 
d <- gg_ordiplot(ord, samp_data$Time, choices = c(1, 2), kind = c("se"), conf = 0.95, show.groups = "all", ellipse = TRUE, label = FALSE, hull = FALSE, spiders = FALSE, plot = TRUE, pt.size = 1) 

#pull out the ellipses
df_ellipse <- d$df_ellipse
ellipseG1 <- subset(df_ellipse, Group == "T1", droplevels= TRUE)
ellipseG2 <- subset(df_ellipse, Group == "T2", droplevels= TRUE)
ellipseG3 <- subset(df_ellipse, Group == "T3", droplevels= TRUE)


#make the dataframe and subset out samples you dont want to plot
test<-d$df_ord
test$Sample_ID<-rownames(test)
#test$Group=NULL
names(test)<-c("x", "y","Time")

#make the ggplot scatter plot
plot_test<-ggplot(test, aes(x=test$x, y=test$y), color=Time)  + scale_color_manual(values=c("#F8766D", "#00BA38", "#619CFF", "#009E73", "#000000")) + geom_point(aes(color= Time))
#add paths, color, and size, of the hulls
plot_test <- plot_test +
    geom_path(data= ellipseG1, aes(x=x, y=y), color="#F8766D", linetype="solid", size=1.0) +
    geom_path(data= ellipseG2, aes(x=x, y=y), color="#00BA38", linetype="solid", size=1.0) +
    geom_path(data= ellipseG3, aes(x=x, y=y), color="#619CFF", linetype="solid", size=1.0) 

#theme it on up
plot_test<- plot_test + theme_classic()
m<-plot_test 
#m <-m + annotate("text", x = -0.05, y = -0.012, label = "Time 2")
#m <-m + annotate("text", x = 0.01, y = -0.01, label = "Time 3")
#m <-m + annotate("text", x = 0.045, y = -0.023, label = "Time 1")
#m <-m + annotate("text", x = 0.4, y = -0.5, label = "Time: P  > 0.8")
m<- m + labs(x= "NMDS2", y="NMDS1")
m <- m + annotate("text", label="Sampling time:\np < 0.01", x = 0.12, y = -0.055)
g <- m + ggtitle("") + theme(plot.title = element_text(hjust = 0.5, size = 22))  + theme(axis.title.x = element_text(size=15)) + theme(axis.title.y = element_text(size=15)) + scale_fill_discrete(name = "Sampling time", labels = c("Time 1", "Time 2", "Time 3"))
g
Warning in eval_tidy(x[[2]], data, env) :
  restarting interrupted promise evaluation

HW_MV<-g
#convert to long format for ggplot
subRoundup_long <- sub_Roundup[,c("Time", "BG", "CBH", "PHOS", "NAG", "BX", "AG", "LAP", "C.N_enz")] %>% 
  gather(key = "Enzyme", value = "Activity", AG, BG, BX, PHOS, LAP, C.N_enz )

subRoundup_long$Enzyme<-factor(subRoundup_long$Enzyme, levels = c("AG", "BG", "BX", "PHOS", "LAP", "C.N_enz"))

dose.labs <- c("AG","BG","BX","PHOS", "LAP",  "C enzymes : N enzymes")
names(dose.labs) <- c("AG","BG", "BX", "PHOS", "LAP", "C.N_enz")

RUUV1<-ggplot(subRoundup_long, aes_string(x = "Time", y= "Activity", fill="Time")) + geom_boxplot() + theme_classic() + facet_wrap(~ Enzyme, scales = "free_y", labeller = labeller(Enzyme = dose.labs)) + theme_classic() +
   ggtitle("Roundup Powermax") + theme(plot.title= element_text( hjust = 0.5, size = 15)) + ylab("Activity (nmol/h/g)") + xlab("Sampling time")  + scale_fill_discrete(name = "Sampling time", labels = c("Time one", "Time two", "Time three")) + theme(axis.text.y = element_text(size=12))  + 
  theme(axis.ticks = element_blank(), axis.text.x = element_blank(), axis.title.x = element_text(size = 12))  + 
       theme(strip.text.x = element_text(size = 9, colour = "black", angle = 0)) + theme(axis.title.y = element_text(size=15))  +  theme(strip.text.x = element_text(size =  12)) #theme(legend.position="none") + 

#ggplot(subRoundup_long, aes_string(x = "Time", y= "Activity", fill="Time")) + geom_boxplot() + theme_classic() + facet_wrap(~ Enzyme, scales = "free_y") + theme(axis.text.x = element_text(angle = 45, hjust = 1)) + ggtitle("Roundup Powermax by time") + theme(plot.title= element_text( hjust = 0.5, size = 22))


Phos_RU<-ggplot(subRoundup_long, aes_string(x = "Time", y= "Activity", fill="Time")) + geom_boxplot(data=subset(subRoundup_long, subRoundup_long["Enzyme"] == "PHOS" )) + theme_classic() + #facet_wrap(~ Edaphic, scales = "free_y") + 
  theme(axis.ticks.x = element_blank(), axis.text.x = element_blank(), axis.title.x = element_text(size = 15)) + ggtitle("") + theme(plot.title= element_text( hjust = 0.5, size = 20)) + theme(axis.title.y = element_text(size = 15), axis.text.y = element_text(size = 12))+ ylab("Activity\n(nmol/hr/g dry soil)") + xlab("Sampling Time") + scale_fill_discrete(name = "Sampling time", labels = c("Time 1", "Time 2", "Time 3"))

#multivariate
enz_table<-sub_Roundup[,c("BG", "CBH", "PHOS", "NAG", "BX", "AG", "LAP")]
samp_data <- sub_Roundup[,c("Time", "Treatment", "Total_Weed_Veg")]

psdist<-parDist(as.matrix(enz_table), method = "bray")

adonis2(psdist ~ Time + Total_Weed_Veg, data = data.frame(samp_data), permutations = 1000)
Permutation test for adonis under reduced model
Terms added sequentially (first to last)
Permutation: free
Number of permutations: 1000

adonis2(formula = psdist ~ Time + Total_Weed_Veg, data = data.frame(samp_data), permutations = 1000)
               Df SumOfSqs      R2      F Pr(>F)
Time            2 0.022833 0.29916 1.7399 0.1588
Total_Weed_Veg  1 0.007560 0.09906 1.1522 0.3367
Residual        7 0.045931 0.60178              
Total          10 0.076325 1.00000              
Roundup_ord<-metaMDS(na.omit(sub_Roundup[,c("BG", "CBH", "PHOS", "NAG", "BX", "AG", "LAP")]), distance = "bray" )
Square root transformation
Wisconsin double standardization
Run 0 stress 0.05022728 
Run 1 stress 0.04557361 
... New best solution
... Procrustes: rmse 0.04274026  max resid 0.1005604 
Run 2 stress 0.05022726 
Run 3 stress 0.05026268 
Run 4 stress 0.05021694 
Run 5 stress 0.05021691 
Run 6 stress 0.05685044 
Run 7 stress 0.05026265 
Run 8 stress 0.04656015 
Run 9 stress 0.05026275 
Run 10 stress 0.05021691 
Run 11 stress 0.04656017 
Run 12 stress 0.3122243 
Run 13 stress 0.05077791 
Run 14 stress 0.05026265 
Run 15 stress 0.05022729 
Run 16 stress 0.05022729 
Run 17 stress 0.04557361 
... New best solution
... Procrustes: rmse 3.026343e-05  max resid 7.698245e-05 
... Similar to previous best
Run 18 stress 0.05022728 
Run 19 stress 0.04656016 
Run 20 stress 0.05702321 
*** Best solution repeated 1 times
stressplot(Roundup_ord)


ord<-Roundup_ord
#make the plot with everything 
d <- gg_ordiplot(ord, samp_data$Time, choices = c(1, 2), kind = c("se"), conf = 0.95, show.groups = "all", ellipse = TRUE, label = FALSE, hull = FALSE, spiders = FALSE, plot = TRUE, pt.size = 1) 

#pull out the ellipses
df_ellipse <- d$df_ellipse
ellipseG1 <- subset(df_ellipse, Group == "T1", droplevels= TRUE)
ellipseG2 <- subset(df_ellipse, Group == "T2", droplevels= TRUE)
ellipseG3 <- subset(df_ellipse, Group == "T3", droplevels= TRUE)


#make the dataframe and subset out samples you dont want to plot
test<-d$df_ord
test$Sample_ID<-rownames(test)
#test$Group=NULL
names(test)<-c("x", "y","Time")

#make the ggplot scatter plot
plot_test<-ggplot(test, aes(x=test$x, y=test$y), color=Time)  + scale_color_manual(values=c("#F564E3", "#619CFF", "#F8766D", "#009E73", "#000000")) + geom_point(aes(color= Time))
#add paths, color, and size, of the hulls
plot_test <- plot_test +
    geom_path(data= ellipseG1, aes(x=x, y=y), color="#F564E3", linetype="solid", size=1.0) +
    geom_path(data= ellipseG2, aes(x=x, y=y), color="#619CFF", linetype="solid", size=1.0) +
    geom_path(data= ellipseG3, aes(x=x, y=y), color="#F8766D", linetype="solid", size=1.0) 

#theme it on up
plot_test<- plot_test + theme_classic()
m<-plot_test 
#m <-m + annotate("text", x = -0.05, y = -0.012, label = "Time 2")
#m <-m + annotate("text", x = 0.01, y = -0.01, label = "Time 3")
#m <-m + annotate("text", x = 0.045, y = -0.023, label = "Time 1")
#m <-m + annotate("text", x = 0.4, y = -0.5, label = "Time: P  > 0.8")
m<- m + labs(x= "NMDS2", y="NMDS1")
g <- m + ggtitle("Roundup by time") + theme(plot.title = element_text(hjust = 0.5, size = 22))  
g
Warning in eval_tidy(x[[2]], data, env) :
  restarting interrupted promise evaluation

#NonTreat
enzymes<- c("BG", "CBH", "PHOS", "NAG", "BX", "AG", "LAP")
sub_NonTreat <- NonTreat[!is.na(NonTreat$LAP),]
#univariate
out<-list()
models_out<-list()
p.predict<-list()

for(i in 1:(length(enzymes))){
  mod_herb <- glm(formula = noquote(paste(enzymes[i], "~ Time + Total_Weed_Veg", sep = "")), family = gaussian(link = "identity"), data = sub_NonTreat)
  mod_inter <- glm(formula = noquote(paste(enzymes[i], "~ 1", sep = "")), family = gaussian(link = "identity"), data = sub_NonTreat)
  glob_sig<-anova(mod_inter, mod_herb, test = "F")
    if(glob_sig$`Pr(>F)`[2]<=0.05){
        test_stats<-c(glob_sig$`Resid. Df`, glob_sig$F[2], glob_sig$`Pr(>F)`[2])
        names(test_stats) <- c("DF_res", "DF_null", "F-stat", "p-val")
        sum_model<-summary(mod_herb)
        post_hoc<-summary(glht(mod_herb, mcp(Time="Tukey")))
    # p<-anova(mod_herb, mod_inter)
        #  p.vals<-c(p.vals, list(p))
        significance_predic<-drop1(mod_herb, test = "F")
        out<-c(out, list(post_hoc), enzymes[i])
        models_out <- c(models_out, enzymes[i], list(test_stats), list(sum_model))
        p.predict <- c(p.predict, list(significance_predic), enzymes[i])
    }

}
models_out
list()
p.predict
list()
out
list()
#convert to long format for ggplot
subNonTreat_long <- sub_NonTreat[,c("Time", "BG", "CBH", "PHOS", "NAG", "BX", "AG", "LAP", "C.N_enz")] %>% 
  gather(key = "Enzyme", value = "Activity",BG, CBH, PHOS, NAG, BX, AG, LAP, C.N_enz )


dose.labs <- c("AG","BG","BX","PHOS", "C enzymes : N enzymes")
names(dose.labs) <- c("AG","BG", "BX", "PHOS", "C.N_enz")

aaUV1<-ggplot(subNonTreat_long, aes_string(x = "Time", y= "Activity", fill="Time")) + geom_boxplot() + theme_classic() + facet_wrap(~ Enzyme, scales = "free_y", labeller = labeller(Enzyme = dose.labs)) + theme_classic() +
   ggtitle("") + theme(plot.title= element_text( hjust = 0.5, size = 22)) + ylab("Activity (nmol/h/g)") + xlab("Sampling time")  + scale_fill_discrete(name = "Sampling time", labels = c("Time one", "Time two", "Time three")) + theme(axis.text.y = element_text(size=12))  + 
  theme(axis.ticks = element_blank(), axis.text.x = element_blank(), axis.title.x = element_text(size = 12))  + 
       theme(strip.text.x = element_text(size = 9, colour = "black", angle = 0)) + theme(axis.title.y = element_text(size=15))  +  theme(strip.text.x = element_text(size =  12)) #theme(legend.position="none") + 


#ggplot(subNonTreat_long, aes_string(x = "Time", y= "Activity", fill="Time")) + geom_boxplot() + theme_classic() + facet_wrap(~ Enzyme, scales = "free_y") + theme(axis.text.x = element_text(angle = 45, hjust = 1)) + ggtitle("Non-treated by time") + theme(plot.title= element_text( hjust = 0.5, size = 22))


#multivariate
enz_table<-sub_NonTreat[,c("BG", "CBH", "PHOS", "NAG", "BX", "AG", "LAP")]
samp_data <- sub_NonTreat[,c("Time", "Treatment", "Total_Weed_Veg")]

psdist<-parDist(as.matrix(enz_table), method = "bray")

adonis2(psdist ~ Time + Total_Weed_Veg, data = data.frame(samp_data), permutations = 1000)
Permutation test for adonis under reduced model
Terms added sequentially (first to last)
Permutation: free
Number of permutations: 1000

adonis2(formula = psdist ~ Time + Total_Weed_Veg, data = data.frame(samp_data), permutations = 1000)
               Df SumOfSqs      R2      F Pr(>F)
Time            2 0.037529 0.14368 0.6666 0.5764
Total_Weed_Veg  1 0.054778 0.20971 1.9460 0.1678
Residual        6 0.168895 0.64661              
Total           9 0.261202 1.00000              
NonTreat_ord<-metaMDS(na.omit(sub_NonTreat[,c("BG", "CBH", "PHOS", "NAG", "BX", "AG", "LAP")]), distance = "bray" )
Square root transformation
Wisconsin double standardization
Run 0 stress 0.006930743 
Run 1 stress 0.006930712 
... New best solution
... Procrustes: rmse 1.387962e-05  max resid 2.359383e-05 
... Similar to previous best
Run 2 stress 0.03142679 
Run 3 stress 0.006930747 
... Procrustes: rmse 1.835222e-05  max resid 3.38146e-05 
... Similar to previous best
Run 4 stress 0.007811699 
Run 5 stress 0.008212288 
Run 6 stress 0.007027435 
... Procrustes: rmse 0.009637295  max resid 0.0197818 
Run 7 stress 0.006930712 
... New best solution
... Procrustes: rmse 7.202057e-07  max resid 1.147143e-06 
... Similar to previous best
Run 8 stress 0.008221212 
Run 9 stress 0.006933077 
... Procrustes: rmse 0.0005560525  max resid 0.001086162 
... Similar to previous best
Run 10 stress 0.00706276 
... Procrustes: rmse 0.01270191  max resid 0.0261196 
Run 11 stress 0.006983402 
... Procrustes: rmse 0.002975934  max resid 0.005811273 
... Similar to previous best
Run 12 stress 0.008212476 
Run 13 stress 0.007044837 
... Procrustes: rmse 0.01118192  max resid 0.02297606 
Run 14 stress 0.006930698 
... New best solution
... Procrustes: rmse 1.357542e-05  max resid 2.640974e-05 
... Similar to previous best
Run 15 stress 0.008245814 
Run 16 stress 0.008209322 
Run 17 stress 0.006975915 
... Procrustes: rmse 0.004874059  max resid 0.009966654 
... Similar to previous best
Run 18 stress 0.008247181 
Run 19 stress 0.006976058 
... Procrustes: rmse 0.004841116  max resid 0.00989842 
... Similar to previous best
Run 20 stress 0.02301761 
*** Best solution repeated 3 times
stressplot(NonTreat_ord)


ord<-NonTreat_ord
#make the plot with everything 
d <- gg_ordiplot(ord, samp_data$Time, choices = c(1, 2), kind = c("se"), conf = 0.95, show.groups = "all", ellipse = TRUE, label = FALSE, hull = FALSE, spiders = FALSE, plot = TRUE, pt.size = 1) 

#pull out the ellipses
df_ellipse <- d$df_ellipse
ellipseG1 <- subset(df_ellipse, Group == "T1", droplevels= TRUE)
ellipseG2 <- subset(df_ellipse, Group == "T2", droplevels= TRUE)
ellipseG3 <- subset(df_ellipse, Group == "T3", droplevels= TRUE)


#make the dataframe and subset out samples you dont want to plot
test<-d$df_ord
test$Sample_ID<-rownames(test)
#test$Group=NULL
names(test)<-c("x", "y","Time")

#make the ggplot scatter plot
plot_test<-ggplot(test, aes(x=test$x, y=test$y), color=Time)  + scale_color_manual(values=c("#F564E3", "#619CFF", "#F8766D", "#009E73", "#000000")) + geom_point(aes(color= Time))
#add paths, color, and size, of the hulls
plot_test <- plot_test +
    geom_path(data= ellipseG1, aes(x=x, y=y), color="#F564E3", linetype="solid", size=1.0) +
    geom_path(data= ellipseG2, aes(x=x, y=y), color="#619CFF", linetype="solid", size=1.0) +
    geom_path(data= ellipseG3, aes(x=x, y=y), color="#F8766D", linetype="solid", size=1.0) 

#theme it on up
plot_test<- plot_test + theme_classic()
m<-plot_test 
#m <-m + annotate("text", x = -0.05, y = -0.012, label = "Time 2")
#m <-m + annotate("text", x = 0.01, y = -0.01, label = "Time 3")
#m <-m + annotate("text", x = 0.045, y = -0.023, label = "Time 1")
#m <-m + annotate("text", x = 0.4, y = -0.5, label = "Time: P  > 0.8")
m<- m + labs(x= "NMDS2", y="NMDS1")
g <- m + ggtitle("NonTreat by time") + theme(plot.title = element_text(hjust = 0.5, size = 22))  
g
Warning in eval_tidy(x[[2]], data, env) :
  restarting interrupted promise evaluation

combine figures for manuscirpt


subRoundup_long <- sub_Roundup[,c("Time", "BG", "CBH", "PHOS", "NAG", "BX", "AG", "LAP", "C.N_enz")] %>% 
  gather(key = "Enzyme", value = "Activity", AG, BG, BX, PHOS, C.N_enz )

RU_UV<-ggplot(subRoundup_long, aes_string(x = "Time", y= "Activity", fill="Time")) + geom_boxplot() + theme_classic() + facet_wrap(~ Enzyme, scales = "free_y") + theme(axis.text.x = element_text(angle = 45, hjust = 1)) + ggtitle("Glyphosate") + theme(plot.title= element_text( hjust = 0.5, size =17))  + ylab("") + xlab("") + scale_fill_discrete(name = "Sampling time", labels = c("Pre-treatment", "10-days post", "20-days post"))  + theme(axis.ticks = element_blank(), axis.text.x = element_blank(), axis.title.x = element_text(size = 12))  + theme(strip.text.x = element_text(size = 10, colour = "black", angle = 0)) + theme(axis.text.y = element_text(size=14, angle=45)) + theme(axis.title.y = element_text(size=15))

subHandweed_long <- sub_Handweed[,c("Time", "BG", "CBH", "PHOS", "NAG", "BX", "AG", "LAP", "C.N_enz")] %>% 
  gather(key = "Enzyme", value = "Activity",, AG, BG, BX, PHOS, C.N_enz )

HW_UV<-ggplot(subHandweed_long, aes_string(x = "Time", y= "Activity", fill="Time")) + geom_boxplot() + theme_classic() + facet_wrap(~ Enzyme, scales = "free_y") + theme(axis.text.x = element_text(angle = 45, hjust = 1))  + ggtitle("Handweeded") + theme(plot.title= element_text( hjust = 0.5, size = 17))  + ylab("") + xlab("") + scale_fill_discrete(name = "Sampling time", labels = c("Pre-treatment", "10 days post", "20 days post"))  + theme(axis.ticks = element_blank(), axis.text.x = element_blank(), axis.title.x = element_text(size = 12))  +  theme(strip.text.x = element_text(size = 10, colour = "black", angle = 0))  + theme(axis.text.y = element_text(size=14, angle=45)) + theme(axis.title.y = element_text(size=15)) + theme(legend.position = "none") 


#HW_MV <- HW_MV + theme(legend.position = "none") + ggtitle("Hand-weeded") + theme(plot.title= element_text( hjust = 0.5, size = 15)) + theme(axis.text.y = element_text(size=14, angle=0)) + theme(axis.text.x = element_text(size = 14))


my_legend <- get_legend(RU_UV)
as_ggplot(my_legend)
ggsave("/Users/gordoncuster/Desktop/Git_Projects/Herbicide_Microbes_PT1/Figures/Enz_hump_activity_legend.pdf")
Saving 7.29 x 4.51 in image
ggsave("/Users/gordoncuster/Desktop/Git_Projects/Herbicide_Microbes_PT1/Figures/Enz_hump_activity_legend.eps")
Saving 7.29 x 4.51 in image

RU_UV<-RU_UV+ theme(legend.position = "none") 
RU_UV



ggarrange(HW_UV, RU_UV,  nrow = 2, ncol = 1)
ggsave("/Users/gordoncuster/Desktop/Git_Projects/Herbicide_Microbes_PT1/Figures/Enz_hump_activity.eps", width = 7, height = 10)
ggsave("/Users/gordoncuster/Desktop/Git_Projects/Herbicide_Microbes_PT1/Figures/Enz_hump_activity.pdf", width = 7, height = 10)

#All together with conservative mixed models

with time 1 values as a preditor and only time 2 and 3

```r
enz_only$block<-factor(substr(enz_only$Sample_ID, start = 1, stop = 1))
dat <- enz_only[!is.na(enz_only$LAP),]

#Good for shapiro test on residuals without log transform. I ran each model and checked the residuals for normailty using \shapiro.test(resid(test_model_lmer))\. All of the follwing passed the shapiro wilk test : BG, CBH, AG, BX, PHOS, LAP, NAG

dat<-dat[dat$Time != \T1\, ]

library(lmerTest)

<!-- rnb-source-end -->

<!-- rnb-output-begin eyJkYXRhIjoiXG5BdHRhY2hpbmcgcGFja2FnZTog4oCYbG1lclRlc3TigJlcblxuVGhlIGZvbGxvd2luZyBvYmplY3QgaXMgbWFza2VkIGZyb20g4oCYcGFja2FnZTpsbWU04oCZOlxuXG4gICAgbG1lclxuXG5UaGUgZm9sbG93aW5nIG9iamVjdCBpcyBtYXNrZWQgZnJvbSDigJhwYWNrYWdlOnN0YXRz4oCZOlxuXG4gICAgc3RlcFxuIn0= -->

Attaching package: ‘lmerTest’

The following object is masked from ‘package:lme4’:

lmer

The following object is masked from ‘package:stats’:

step



<!-- rnb-output-end -->

<!-- rnb-source-begin eyJkYXRhIjoiYGBgclxuYGBgclxudGVzdF9tb2RlbF9sbWVyPC1sbWVyKE5BRyB+IEhlcmJpY2lkZSArIEJHX1QxICsgVGltZSArICgxfGJsb2NrKSArICgxfFRpbWUpLCBkYXRhID0gZGF0KVxuYGBgXG5gYGAifQ== -->

```r
```r
test_model_lmer<-lmer(NAG ~ Herbicide + BG_T1 + Time + (1|block) + (1|Time), data = dat)

<!-- rnb-source-end -->

<!-- rnb-output-begin eyJkYXRhIjoiV2FybmluZyBpbiBjaGVja0NvbnYoYXR0cihvcHQsIFxcZGVyaXZzXFwpLCBvcHQkcGFyLCBjdHJsID0gY29udHJvbCRjaGVja0NvbnYsICA6XG4gIHVuYWJsZSB0byBldmFsdWF0ZSBzY2FsZWQgZ3JhZGllbnRcbldhcm5pbmcgaW4gY2hlY2tDb252KGF0dHIob3B0LCBcXGRlcml2c1xcKSwgb3B0JHBhciwgY3RybCA9IGNvbnRyb2wkY2hlY2tDb252LCAgOlxuICAgSGVzc2lhbiBpcyBudW1lcmljYWxseSBzaW5ndWxhcjogcGFyYW1ldGVycyBhcmUgbm90IHVuaXF1ZWx5IGRldGVybWluZWRcbldhcm5pbmcgaW4gYXNfbG1lck1vZExUKG1vZGVsLCBkZXZmdW4pIDpcbiAgTW9kZWwgbWF5IG5vdCBoYXZlIGNvbnZlcmdlZCB3aXRoIDEgZWlnZW52YWx1ZSBjbG9zZSB0byB6ZXJvOiAtMS43ZS0xN1xuIn0= -->

Warning in checkConv(attr(opt, ), opt\(par, ctrl = control\)checkConv, : unable to evaluate scaled gradient Warning in checkConv(attr(opt, ), opt\(par, ctrl = control\)checkConv, : Hessian is numerically singular: parameters are not uniquely determined Warning in as_lmerModLT(model, devfun) : Model may not have converged with 1 eigenvalue close to zero: -1.7e-17




<!-- rnb-output-end -->

<!-- rnb-source-begin eyJkYXRhIjoiYGBgclxuYGBgclxuc3VtbWFyeSh0ZXN0X21vZGVsX2xtZXIpXG5gYGBcbmBgYCJ9 -->

```r
```r
summary(test_model_lmer)

<!-- rnb-source-end -->

<!-- rnb-output-begin eyJkYXRhIjoiTGluZWFyIG1peGVkIG1vZGVsIGZpdCBieSBSRU1MLiB0LXRlc3RzIHVzZSBTYXR0ZXJ0aHdhaXRlJ3MgbWV0aG9kIFsnbG1lck1vZExtZXJUZXN0J11cbkZvcm11bGE6IE5BRyB+IEhlcmJpY2lkZSArIEJHX1QxICsgVGltZSArICgxIHwgYmxvY2spICsgKDEgfCBUaW1lKVxuICAgRGF0YTogZGF0XG5cblJFTUwgY3JpdGVyaW9uIGF0IGNvbnZlcmdlbmNlOiAyNDkuNlxuXG5TY2FsZWQgcmVzaWR1YWxzOiBcbiAgICAgTWluICAgICAgIDFRICAgTWVkaWFuICAgICAgIDNRICAgICAgTWF4IFxuLTEuNDQ5MDAgLTAuNjMyMTcgIDAuMDE0NDIgIDAuNzEzNzYgIDEuNjc0MDcgXG5cblJhbmRvbSBlZmZlY3RzOlxuIEdyb3VwcyAgIE5hbWUgICAgICAgIFZhcmlhbmNlIFN0ZC5EZXYuXG4gYmxvY2sgICAgKEludGVyY2VwdCkgMTMuMzk5MSAgMy42NjA1ICBcbiBUaW1lICAgICAoSW50ZXJjZXB0KSAgMC41NTkyICAwLjc0NzggIFxuIFJlc2lkdWFsICAgICAgICAgICAgIDc4LjU2NzcgIDguODYzOCAgXG5OdW1iZXIgb2Ygb2JzOiAzOCwgZ3JvdXBzOiAgYmxvY2ssIDQ7IFRpbWUsIDJcblxuRml4ZWQgZWZmZWN0czpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIEVzdGltYXRlIFN0ZC4gRXJyb3IgICAgICAgIGRmIHQgdmFsdWUgUHIoPnx0fCkgIFxuKEludGVyY2VwdCkgICAgICAgICAgICAgICAxOS41NTk1OTQgICA3LjE2MDMzMSAyOC44NzMwMTQgICAyLjczMiAgIDAuMDEwNiAqXG5IZXJiaWNpZGVIYW5kICAgICAgICAgICAgICAzLjMyMTc3MSAgIDQuNjAzMzg3IDI4LjM4NjE2NSAgIDAuNzIyICAgMC40NzY0ICBcbkhlcmJpY2lkZUFhdHJleCAgICAgICAgICAgLTUuNjE3NDAxICAgNC44MjE0MTkgMjguNDc5MTA1ICAtMS4xNjUgICAwLjI1MzYgIFxuSGVyYmljaWRlQ2xhcml0eSAgICAgICAgICAtNi4wODI2ODYgICA0LjY2ODIzNCAyOC4zMjE3MDYgIC0xLjMwMyAgIDAuMjAzMSAgXG5IZXJiaWNpZGVSb3VuZHVwIFBvd2VybWF4IC01Ljg5MDUxOCAgIDQuODg0Mzc5IDI4LjMzODc4MSAgLTEuMjA2ICAgMC4yMzc4ICBcbkJHX1QxICAgICAgICAgICAgICAgICAgICAgIDAuMDA2NDU2ICAgMC4wMzQxMTAgMzAuOTgzMDY3ICAgMC4xODkgICAwLjg1MTEgIFxuVGltZVQzICAgICAgICAgICAgICAgICAgICAtMS40NTk1NTcgICAzLjA3NzQwNSAyOC4yODQ3NjMgIC0wLjQ3NCAgIDAuNjM4OSAgXG4tLS1cblNpZ25pZi4gY29kZXM6ICAwIOKAmCoqKuKAmSAwLjAwMSDigJgqKuKAmSAwLjAxIOKAmCrigJkgMC4wNSDigJgu4oCZIDAuMSDigJgg4oCZIDFcblxuQ29ycmVsYXRpb24gb2YgRml4ZWQgRWZmZWN0czpcbiAgICAgICAgICAgIChJbnRyKSBIcmJjZEggSHJiY2RBIEhyYmNkQyBIcmJjUlAgQkdfVDEgXG5IZXJiaWNpZEhuZCAtMC4zNjAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuSGVyYmljZEF0cnggLTAuMDc1ICAwLjUwMiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbkhlcmJjZENscnR5IC0wLjE5MiAgMC41MjMgIDAuNTU1ICAgICAgICAgICAgICAgICAgICAgXG5IcmJjZFJuZHBQdyAtMC4xNDEgIDAuNDk3ICAwLjU0OCAgMC41MzUgICAgICAgICAgICAgIFxuQkdfVDEgICAgICAgLTAuODIxICAwLjAzMCAtMC4yOTkgLTAuMTY5IC0wLjIyMyAgICAgICBcblRpbWVUMyAgICAgIC0wLjE5MCAtMC4wNDQgLTAuMDQzIC0wLjA0NCAtMC4wMDEgIDAuMDA0XG5vcHRpbWl6ZXIgKG5sb3B0d3JhcCkgY29udmVyZ2VuY2UgY29kZTogMCAoT0spXG51bmFibGUgdG8gZXZhbHVhdGUgc2NhbGVkIGdyYWRpZW50XG4gSGVzc2lhbiBpcyBudW1lcmljYWxseSBzaW5ndWxhcjogcGFyYW1ldGVycyBhcmUgbm90IHVuaXF1ZWx5IGRldGVybWluZWRcbiJ9 -->

Linear mixed model fit by REML. t-tests use Satterthwaite’s method [‘lmerModLmerTest’] Formula: NAG ~ Herbicide + BG_T1 + Time + (1 | block) + (1 | Time) Data: dat

REML criterion at convergence: 249.6

Scaled residuals: Min 1Q Median 3Q Max -1.44900 -0.63217 0.01442 0.71376 1.67407

Random effects: Groups Name Variance Std.Dev. block (Intercept) 13.3991 3.6605
Time (Intercept) 0.5592 0.7478
Residual 78.5677 8.8638
Number of obs: 38, groups: block, 4; Time, 2

Fixed effects: Estimate Std. Error df t value Pr(>|t|)
(Intercept) 19.559594 7.160331 28.873014 2.732 0.0106 * HerbicideHand 3.321771 4.603387 28.386165 0.722 0.4764
HerbicideAatrex -5.617401 4.821419 28.479105 -1.165 0.2536
HerbicideClarity -6.082686 4.668234 28.321706 -1.303 0.2031
HerbicideRoundup Powermax -5.890518 4.884379 28.338781 -1.206 0.2378
BG_T1 0.006456 0.034110 30.983067 0.189 0.8511
TimeT3 -1.459557 3.077405 28.284763 -0.474 0.6389
— Signif. codes: 0 ‘’ 0.001 ‘’ 0.01 ‘’ 0.05 ‘.’ 0.1 ‘ ’ 1

Correlation of Fixed Effects: (Intr) HrbcdH HrbcdA HrbcdC HrbcRP BG_T1 HerbicidHnd -0.360
HerbicdAtrx -0.075 0.502
HerbcdClrty -0.192 0.523 0.555
HrbcdRndpPw -0.141 0.497 0.548 0.535
BG_T1 -0.821 0.030 -0.299 -0.169 -0.223
TimeT3 -0.190 -0.044 -0.043 -0.044 -0.001 0.004 optimizer (nloptwrap) convergence code: 0 (OK) unable to evaluate scaled gradient Hessian is numerically singular: parameters are not uniquely determined




<!-- rnb-output-end -->

<!-- rnb-source-begin eyJkYXRhIjoiYGBgclxuYGBgclxuc3VtbWFyeShnbGh0KHRlc3RfbW9kZWxfbG1lciwgbWNwKEhlcmJpY2lkZSA9IFxcVHVrZXlcXCwgVGltZSA9IFxcVHVrZXlcXCkpKVxuYGBgXG5gYGAifQ== -->

```r
```r
summary(glht(test_model_lmer, mcp(Herbicide = \Tukey\, Time = \Tukey\)))

<!-- rnb-source-end -->

<!-- rnb-output-begin eyJkYXRhIjoiXG5cdCBTaW11bHRhbmVvdXMgVGVzdHMgZm9yIEdlbmVyYWwgTGluZWFyIEh5cG90aGVzZXNcblxuTXVsdGlwbGUgQ29tcGFyaXNvbnMgb2YgTWVhbnM6IFR1a2V5IENvbnRyYXN0c1xuXG5cbkZpdDogbG1lcihmb3JtdWxhID0gTkFHIH4gSGVyYmljaWRlICsgQkdfVDEgKyBUaW1lICsgKDEgfCBibG9jaykgKyBcbiAgICAoMSB8IFRpbWUpLCBkYXRhID0gZGF0KVxuXG5MaW5lYXIgSHlwb3RoZXNlczpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRXN0aW1hdGUgU3RkLiBFcnJvciB6IHZhbHVlIFByKD58enwpXG5IZXJiaWNpZGU6IEhhbmQgLSBOb24tVHJlYXRlZCA9PSAwICAgICAgICAgICAgICAgMy4zMjE4ICAgICA0LjYwMzQgICAwLjcyMiAgICAwLjk3NFxuSGVyYmljaWRlOiBBYXRyZXggLSBOb24tVHJlYXRlZCA9PSAwICAgICAgICAgICAgLTUuNjE3NCAgICAgNC44MjE0ICAtMS4xNjUgICAgMC44MjdcbkhlcmJpY2lkZTogQ2xhcml0eSAtIE5vbi1UcmVhdGVkID09IDAgICAgICAgICAgIC02LjA4MjcgICAgIDQuNjY4MiAgLTEuMzAzICAgIDAuNzQ5XG5IZXJiaWNpZGU6IFJvdW5kdXAgUG93ZXJtYXggLSBOb24tVHJlYXRlZCA9PSAwICAtNS44OTA1ICAgICA0Ljg4NDQgIC0xLjIwNiAgICAwLjgwNVxuSGVyYmljaWRlOiBBYXRyZXggLSBIYW5kID09IDAgICAgICAgICAgICAgICAgICAgLTguOTM5MiAgICAgNC43MDU0ICAtMS45MDAgICAgMC4zNTZcbkhlcmJpY2lkZTogQ2xhcml0eSAtIEhhbmQgPT0gMCAgICAgICAgICAgICAgICAgIC05LjQwNDUgICAgIDQuNTI4MSAgLTIuMDc3ICAgIDAuMjU5XG5IZXJiaWNpZGU6IFJvdW5kdXAgUG93ZXJtYXggLSBIYW5kID09IDAgICAgICAgICAtOS4yMTIzICAgICA0Ljc2MzMgIC0xLjkzNCAgICAwLjMzNlxuSGVyYmljaWRlOiBDbGFyaXR5IC0gQWF0cmV4ID09IDAgICAgICAgICAgICAgICAgLTAuNDY1MyAgICAgNC40Nzk3ICAtMC4xMDQgICAgMS4wMDBcbkhlcmJpY2lkZTogUm91bmR1cCBQb3dlcm1heCAtIEFhdHJleCA9PSAwICAgICAgIC0wLjI3MzEgICAgIDQuNjE0NSAgLTAuMDU5ICAgIDEuMDAwXG5IZXJiaWNpZGU6IFJvdW5kdXAgUG93ZXJtYXggLSBDbGFyaXR5ID09IDAgICAgICAgMC4xOTIyICAgICA0LjYxMTIgICAwLjA0MiAgICAxLjAwMFxuVGltZTogVDMgLSBUMiA9PSAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEuNDU5NiAgICAgMy4wNzc0ICAtMC40NzQgICAgMC45OTZcbihBZGp1c3RlZCBwIHZhbHVlcyByZXBvcnRlZCAtLSBzaW5nbGUtc3RlcCBtZXRob2QpXG4ifQ== -->
 Simultaneous Tests for General Linear Hypotheses

Multiple Comparisons of Means: Tukey Contrasts

Fit: lmer(formula = NAG ~ Herbicide + BG_T1 + Time + (1 | block) + (1 | Time), data = dat)

Linear Hypotheses: Estimate Std. Error z value Pr(>|z|) Herbicide: Hand - Non-Treated == 0 3.3218 4.6034 0.722 0.974 Herbicide: Aatrex - Non-Treated == 0 -5.6174 4.8214 -1.165 0.827 Herbicide: Clarity - Non-Treated == 0 -6.0827 4.6682 -1.303 0.749 Herbicide: Roundup Powermax - Non-Treated == 0 -5.8905 4.8844 -1.206 0.805 Herbicide: Aatrex - Hand == 0 -8.9392 4.7054 -1.900 0.356 Herbicide: Clarity - Hand == 0 -9.4045 4.5281 -2.077 0.259 Herbicide: Roundup Powermax - Hand == 0 -9.2123 4.7633 -1.934 0.336 Herbicide: Clarity - Aatrex == 0 -0.4653 4.4797 -0.104 1.000 Herbicide: Roundup Powermax - Aatrex == 0 -0.2731 4.6145 -0.059 1.000 Herbicide: Roundup Powermax - Clarity == 0 0.1922 4.6112 0.042 1.000 Time: T3 - T2 == 0 -1.4596 3.0774 -0.474 0.996 (Adjusted p values reported – single-step method)




<!-- rnb-output-end -->

<!-- rnb-source-begin eyJkYXRhIjoiYGBgclxuYGBgclxuYW5vdmEodGVzdF9tb2RlbF9sbWVyKVxuYGBgXG5gYGAifQ== -->

```r
```r
anova(test_model_lmer)

<!-- rnb-source-end -->

<!-- rnb-output-begin eyJkYXRhIjoiVHlwZSBJSUkgQW5hbHlzaXMgb2YgVmFyaWFuY2UgVGFibGUgd2l0aCBTYXR0ZXJ0aHdhaXRlJ3MgbWV0aG9kXG4gICAgICAgICAgU3VtIFNxIE1lYW4gU3EgTnVtREYgIERlbkRGIEYgdmFsdWUgUHIoPkYpXG5IZXJiaWNpZGUgNDk3LjI3IDEyNC4zMTYgICAgIDQgMjguNDA4ICAxLjU4MjMgMC4yMDYxXG5CR19UMSAgICAgICAyLjgxICAgMi44MTQgICAgIDEgMzAuOTgzICAwLjAzNTggMC44NTExXG5UaW1lICAgICAgIDE3LjY3ICAxNy42NzMgICAgIDEgMjguMjg1ICAwLjIyNDkgMC42Mzg5XG4ifQ== -->

Type III Analysis of Variance Table with Satterthwaite’s method Sum Sq Mean Sq NumDF DenDF F value Pr(>F) Herbicide 497.27 124.316 4 28.408 1.5823 0.2061 BG_T1 2.81 2.814 1 30.983 0.0358 0.8511 Time 17.67 17.673 1 28.285 0.2249 0.6389




<!-- rnb-output-end -->

<!-- rnb-source-begin eyJkYXRhIjoiYGBgclxuYGBgclxuZW56eW1lczwtIGMoXFxCR1xcLCBcXENCSFxcLCBcXFBIT1NcXCwgXFxOQUdcXCwgXFxCWFxcLCBcXEFHXFwsIFxcTEFQXFwpXG5lbnp5bWVzX3QxPC1jKFxcQkdfVDFcXCwgXFxDQkhfVDFcXCwgXFxQSE9TX1QxXFwsIFxcTkFHX1QxXFwsIFxcQlhfVDFcXCwgXFxBR19UMVxcLCBcXExBUF9UMVxcKVxuZGF0XG5gYGBcbmBgYHJcbiN1bml2YXJpYXRlXG5vdXQ8LWxpc3QoKVxubW9kZWxzX291dDwtbGlzdCgpXG5wLnZhbHM8LWxpc3QoKVxuXG5mb3IoaSBpbiAxOihsZW5ndGgoZW56eW1lcykpKXtcbiAgbW9kIDwtIGxtZXIoZm9ybXVsYSA9IG5vcXVvdGUocGFzdGUoZW56eW1lc1tpXSwgXFx+IEhlcmJpY2lkZSArIFRvdGFsX1dlZWRfVmVnICtcXCwgZW56eW1lc190MVtpXSwgXFwrIFRpbWUgKyBUaW1lKkhlcmJpY2lkZSArICgxfFRpbWUpXFwsIHNlcCA9IFxcXFwpKSwgZGF0YSA9IGRhdClcbiAgc3VtX21vZGVsPC1zdW1tYXJ5KG1vZClcbiAgcG9zdF9ob2M8LXN1bW1hcnkoZ2xodChtb2QsIG1jcChIZXJiaWNpZGUgPSBcXFR1a2V5XFwsIFRpbWUgPSBcXFR1a2V5XFwpKSlcbiAgcDwtYW5vdmEobW9kKVxuICBwLnZhbHM8LWMocC52YWxzLCBsaXN0KHApKVxuICBvdXQ8LWMob3V0LCBsaXN0KHBvc3RfaG9jKSlcbiAgbW9kZWxzX291dCA8LSBjKG1vZGVsc19vdXQsIGxpc3Qoc3VtX21vZGVsKSlcbn1cbmBgYFxuYGBgIn0= -->

```r
```r
enzymes<- c(\BG\, \CBH\, \PHOS\, \NAG\, \BX\, \AG\, \LAP\)
enzymes_t1<-c(\BG_T1\, \CBH_T1\, \PHOS_T1\, \NAG_T1\, \BX_T1\, \AG_T1\, \LAP_T1\)
dat
#univariate
out<-list()
models_out<-list()
p.vals<-list()

for(i in 1:(length(enzymes))){
  mod <- lmer(formula = noquote(paste(enzymes[i], \~ Herbicide + Total_Weed_Veg +\, enzymes_t1[i], \+ Time + Time*Herbicide + (1|Time)\, sep = \\)), data = dat)
  sum_model<-summary(mod)
  post_hoc<-summary(glht(mod, mcp(Herbicide = \Tukey\, Time = \Tukey\)))
  p<-anova(mod)
  p.vals<-c(p.vals, list(p))
  out<-c(out, list(post_hoc))
  models_out <- c(models_out, list(sum_model))
}

<!-- rnb-source-end -->

<!-- rnb-output-begin eyJkYXRhIjoiV2FybmluZyBpbiBjaGVja0NvbnYoYXR0cihvcHQsIFxcZGVyaXZzXFwpLCBvcHQkcGFyLCBjdHJsID0gY29udHJvbCRjaGVja0NvbnYsICA6XG4gIHVuYWJsZSB0byBldmFsdWF0ZSBzY2FsZWQgZ3JhZGllbnRcbldhcm5pbmcgaW4gY2hlY2tDb252KGF0dHIob3B0LCBcXGRlcml2c1xcKSwgb3B0JHBhciwgY3RybCA9IGNvbnRyb2wkY2hlY2tDb252LCAgOlxuICAgSGVzc2lhbiBpcyBudW1lcmljYWxseSBzaW5ndWxhcjogcGFyYW1ldGVycyBhcmUgbm90IHVuaXF1ZWx5IGRldGVybWluZWRcbldhcm5pbmcgaW4gYXNfbG1lck1vZExUKG1vZGVsLCBkZXZmdW4pIDpcbiAgTW9kZWwgbWF5IG5vdCBoYXZlIGNvbnZlcmdlZCB3aXRoIDEgZWlnZW52YWx1ZSBjbG9zZSB0byB6ZXJvOiAxLjhlLTEzXG5XYXJuaW5nIGluIG1jcDJtYXRyaXgobW9kZWwsIGxpbmZjdCA9IGxpbmZjdCkgOlxuICBjb3ZhcmlhdGUgaW50ZXJhY3Rpb25zIGZvdW5kIC0tIGRlZmF1bHQgY29udHJhc3QgbWlnaHQgYmUgaW5hcHByb3ByaWF0ZVxuV2FybmluZyBpbiBtY3AybWF0cml4KG1vZGVsLCBsaW5mY3QgPSBsaW5mY3QpIDpcbiAgY292YXJpYXRlIGludGVyYWN0aW9ucyBmb3VuZCAtLSBkZWZhdWx0IGNvbnRyYXN0IG1pZ2h0IGJlIGluYXBwcm9wcmlhdGVcbldhcm5pbmcgaW4gYXNfbG1lck1vZExUKG1vZGVsLCBkZXZmdW4pIDpcbiAgTW9kZWwgbWF5IG5vdCBoYXZlIGNvbnZlcmdlZCB3aXRoIDEgZWlnZW52YWx1ZSBjbG9zZSB0byB6ZXJvOiAtMi41ZS0wOVxuV2FybmluZyBpbiBtY3AybWF0cml4KG1vZGVsLCBsaW5mY3QgPSBsaW5mY3QpIDpcbiAgY292YXJpYXRlIGludGVyYWN0aW9ucyBmb3VuZCAtLSBkZWZhdWx0IGNvbnRyYXN0IG1pZ2h0IGJlIGluYXBwcm9wcmlhdGVcbldhcm5pbmcgaW4gbWNwMm1hdHJpeChtb2RlbCwgbGluZmN0ID0gbGluZmN0KSA6XG4gIGNvdmFyaWF0ZSBpbnRlcmFjdGlvbnMgZm91bmQgLS0gZGVmYXVsdCBjb250cmFzdCBtaWdodCBiZSBpbmFwcHJvcHJpYXRlXG5XYXJuaW5nIGluIGNoZWNrQ29udihhdHRyKG9wdCwgXFxkZXJpdnNcXCksIG9wdCRwYXIsIGN0cmwgPSBjb250cm9sJGNoZWNrQ29udiwgIDpcbiAgdW5hYmxlIHRvIGV2YWx1YXRlIHNjYWxlZCBncmFkaWVudFxuV2FybmluZyBpbiBjaGVja0NvbnYoYXR0cihvcHQsIFxcZGVyaXZzXFwpLCBvcHQkcGFyLCBjdHJsID0gY29udHJvbCRjaGVja0NvbnYsICA6XG4gICBIZXNzaWFuIGlzIG51bWVyaWNhbGx5IHNpbmd1bGFyOiBwYXJhbWV0ZXJzIGFyZSBub3QgdW5pcXVlbHkgZGV0ZXJtaW5lZFxuV2FybmluZyBpbiBhc19sbWVyTW9kTFQobW9kZWwsIGRldmZ1bikgOlxuICBNb2RlbCBtYXkgbm90IGhhdmUgY29udmVyZ2VkIHdpdGggMSBlaWdlbnZhbHVlIGNsb3NlIHRvIHplcm86IC0zLjhlLTIwXG5XYXJuaW5nIGluIG1jcDJtYXRyaXgobW9kZWwsIGxpbmZjdCA9IGxpbmZjdCkgOlxuICBjb3ZhcmlhdGUgaW50ZXJhY3Rpb25zIGZvdW5kIC0tIGRlZmF1bHQgY29udHJhc3QgbWlnaHQgYmUgaW5hcHByb3ByaWF0ZVxuV2FybmluZyBpbiBtY3AybWF0cml4KG1vZGVsLCBsaW5mY3QgPSBsaW5mY3QpIDpcbiAgY292YXJpYXRlIGludGVyYWN0aW9ucyBmb3VuZCAtLSBkZWZhdWx0IGNvbnRyYXN0IG1pZ2h0IGJlIGluYXBwcm9wcmlhdGVcbldhcm5pbmcgaW4gYXNfbG1lck1vZExUKG1vZGVsLCBkZXZmdW4pIDpcbiAgTW9kZWwgbWF5IG5vdCBoYXZlIGNvbnZlcmdlZCB3aXRoIDEgZWlnZW52YWx1ZSBjbG9zZSB0byB6ZXJvOiAtOC4yZS0wOVxuV2FybmluZyBpbiBtY3AybWF0cml4KG1vZGVsLCBsaW5mY3QgPSBsaW5mY3QpIDpcbiAgY292YXJpYXRlIGludGVyYWN0aW9ucyBmb3VuZCAtLSBkZWZhdWx0IGNvbnRyYXN0IG1pZ2h0IGJlIGluYXBwcm9wcmlhdGVcbldhcm5pbmcgaW4gbWNwMm1hdHJpeChtb2RlbCwgbGluZmN0ID0gbGluZmN0KSA6XG4gIGNvdmFyaWF0ZSBpbnRlcmFjdGlvbnMgZm91bmQgLS0gZGVmYXVsdCBjb250cmFzdCBtaWdodCBiZSBpbmFwcHJvcHJpYXRlXG5XYXJuaW5nIGluIGNoZWNrQ29udihhdHRyKG9wdCwgXFxkZXJpdnNcXCksIG9wdCRwYXIsIGN0cmwgPSBjb250cm9sJGNoZWNrQ29udiwgIDpcbiAgdW5hYmxlIHRvIGV2YWx1YXRlIHNjYWxlZCBncmFkaWVudFxuV2FybmluZyBpbiBjaGVja0NvbnYoYXR0cihvcHQsIFxcZGVyaXZzXFwpLCBvcHQkcGFyLCBjdHJsID0gY29udHJvbCRjaGVja0NvbnYsICA6XG4gICBIZXNzaWFuIGlzIG51bWVyaWNhbGx5IHNpbmd1bGFyOiBwYXJhbWV0ZXJzIGFyZSBub3QgdW5pcXVlbHkgZGV0ZXJtaW5lZFxuV2FybmluZyBpbiBhc19sbWVyTW9kTFQobW9kZWwsIGRldmZ1bikgOlxuICBNb2RlbCBtYXkgbm90IGhhdmUgY29udmVyZ2VkIHdpdGggMSBlaWdlbnZhbHVlIGNsb3NlIHRvIHplcm86IC05LjVlLTIwXG5XYXJuaW5nIGluIG1jcDJtYXRyaXgobW9kZWwsIGxpbmZjdCA9IGxpbmZjdCkgOlxuICBjb3ZhcmlhdGUgaW50ZXJhY3Rpb25zIGZvdW5kIC0tIGRlZmF1bHQgY29udHJhc3QgbWlnaHQgYmUgaW5hcHByb3ByaWF0ZVxuV2FybmluZyBpbiBtY3AybWF0cml4KG1vZGVsLCBsaW5mY3QgPSBsaW5mY3QpIDpcbiAgY292YXJpYXRlIGludGVyYWN0aW9ucyBmb3VuZCAtLSBkZWZhdWx0IGNvbnRyYXN0IG1pZ2h0IGJlIGluYXBwcm9wcmlhdGVcbldhcm5pbmcgaW4gbWNwMm1hdHJpeChtb2RlbCwgbGluZmN0ID0gbGluZmN0KSA6XG4gIGNvdmFyaWF0ZSBpbnRlcmFjdGlvbnMgZm91bmQgLS0gZGVmYXVsdCBjb250cmFzdCBtaWdodCBiZSBpbmFwcHJvcHJpYXRlXG5XYXJuaW5nIGluIG1jcDJtYXRyaXgobW9kZWwsIGxpbmZjdCA9IGxpbmZjdCkgOlxuICBjb3ZhcmlhdGUgaW50ZXJhY3Rpb25zIGZvdW5kIC0tIGRlZmF1bHQgY29udHJhc3QgbWlnaHQgYmUgaW5hcHByb3ByaWF0ZVxuV2FybmluZzogTW9kZWwgZmFpbGVkIHRvIGNvbnZlcmdlIHdpdGggMSBuZWdhdGl2ZSBlaWdlbnZhbHVlOiAtNC42ZS0wOFxuV2FybmluZyBpbiBtY3AybWF0cml4KG1vZGVsLCBsaW5mY3QgPSBsaW5mY3QpIDpcbiAgY292YXJpYXRlIGludGVyYWN0aW9ucyBmb3VuZCAtLSBkZWZhdWx0IGNvbnRyYXN0IG1pZ2h0IGJlIGluYXBwcm9wcmlhdGVcbldhcm5pbmcgaW4gbWNwMm1hdHJpeChtb2RlbCwgbGluZmN0ID0gbGluZmN0KSA6XG4gIGNvdmFyaWF0ZSBpbnRlcmFjdGlvbnMgZm91bmQgLS0gZGVmYXVsdCBjb250cmFzdCBtaWdodCBiZSBpbmFwcHJvcHJpYXRlXG4ifQ== -->

Warning in checkConv(attr(opt, ), opt\(par, ctrl = control\)checkConv, : unable to evaluate scaled gradient Warning in checkConv(attr(opt, ), opt\(par, ctrl = control\)checkConv, : Hessian is numerically singular: parameters are not uniquely determined Warning in as_lmerModLT(model, devfun) : Model may not have converged with 1 eigenvalue close to zero: 1.8e-13 Warning in mcp2matrix(model, linfct = linfct) : covariate interactions found – default contrast might be inappropriate Warning in mcp2matrix(model, linfct = linfct) : covariate interactions found – default contrast might be inappropriate Warning in as_lmerModLT(model, devfun) : Model may not have converged with 1 eigenvalue close to zero: -2.5e-09 Warning in mcp2matrix(model, linfct = linfct) : covariate interactions found – default contrast might be inappropriate Warning in mcp2matrix(model, linfct = linfct) : covariate interactions found – default contrast might be inappropriate Warning in checkConv(attr(opt, ), opt\(par, ctrl = control\)checkConv, : unable to evaluate scaled gradient Warning in checkConv(attr(opt, ), opt\(par, ctrl = control\)checkConv, : Hessian is numerically singular: parameters are not uniquely determined Warning in as_lmerModLT(model, devfun) : Model may not have converged with 1 eigenvalue close to zero: -3.8e-20 Warning in mcp2matrix(model, linfct = linfct) : covariate interactions found – default contrast might be inappropriate Warning in mcp2matrix(model, linfct = linfct) : covariate interactions found – default contrast might be inappropriate Warning in as_lmerModLT(model, devfun) : Model may not have converged with 1 eigenvalue close to zero: -8.2e-09 Warning in mcp2matrix(model, linfct = linfct) : covariate interactions found – default contrast might be inappropriate Warning in mcp2matrix(model, linfct = linfct) : covariate interactions found – default contrast might be inappropriate Warning in checkConv(attr(opt, ), opt\(par, ctrl = control\)checkConv, : unable to evaluate scaled gradient Warning in checkConv(attr(opt, ), opt\(par, ctrl = control\)checkConv, : Hessian is numerically singular: parameters are not uniquely determined Warning in as_lmerModLT(model, devfun) : Model may not have converged with 1 eigenvalue close to zero: -9.5e-20 Warning in mcp2matrix(model, linfct = linfct) : covariate interactions found – default contrast might be inappropriate Warning in mcp2matrix(model, linfct = linfct) : covariate interactions found – default contrast might be inappropriate Warning in mcp2matrix(model, linfct = linfct) : covariate interactions found – default contrast might be inappropriate Warning in mcp2matrix(model, linfct = linfct) : covariate interactions found – default contrast might be inappropriate Warning: Model failed to converge with 1 negative eigenvalue: -4.6e-08 Warning in mcp2matrix(model, linfct = linfct) : covariate interactions found – default contrast might be inappropriate Warning in mcp2matrix(model, linfct = linfct) : covariate interactions found – default contrast might be inappropriate




<!-- rnb-output-end -->

<!-- rnb-source-begin eyJkYXRhIjoiYGBgclxuYGBgclxubW9kZWxzX291dFxuYGBgXG5gYGAifQ== -->

```r
```r
models_out

<!-- rnb-source-end -->

<!-- rnb-output-begin eyJkYXRhIjoiW1sxXV1cbkxpbmVhciBtaXhlZCBtb2RlbCBmaXQgYnkgUkVNTC4gdC10ZXN0cyB1c2UgU2F0dGVydGh3YWl0ZSdzIG1ldGhvZCBbJ2xtZXJNb2RMbWVyVGVzdCddXG5Gb3JtdWxhOiBub3F1b3RlKHBhc3RlKGVuenltZXNbaV0sIFxcfiBIZXJiaWNpZGUgKyBUb3RhbF9XZWVkX1ZlZyArXFwsIGVuenltZXNfdDFbaV0sICBcbiAgICBcXCsgVGltZSArIFRpbWUqSGVyYmljaWRlICsgKDF8VGltZSlcXCwgc2VwID0gXFxcXCkpXG4gICBEYXRhOiBkYXRcblxuUkVNTCBjcml0ZXJpb24gYXQgY29udmVyZ2VuY2U6IDMxNi40XG5cblNjYWxlZCByZXNpZHVhbHM6IFxuICAgIE1pbiAgICAgIDFRICBNZWRpYW4gICAgICAzUSAgICAgTWF4IFxuLTEuNTYyMSAtMC42NTczICAwLjE3NjAgIDAuNzU5MyAgMS4zMDExIFxuXG5SYW5kb20gZWZmZWN0czpcbiBHcm91cHMgICBOYW1lICAgICAgICBWYXJpYW5jZSBTdGQuRGV2LlxuIFRpbWUgICAgIChJbnRlcmNlcHQpICAgNDIuMTkgICA2LjQ5NiAgXG4gUmVzaWR1YWwgICAgICAgICAgICAgMzgyNC43NiAgNjEuODQ1ICBcbk51bWJlciBvZiBvYnM6IDM4LCBncm91cHM6ICBUaW1lLCAyXG5cbkZpeGVkIGVmZmVjdHM6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRXN0aW1hdGUgU3RkLiBFcnJvciAgICAgICAgZGYgdCB2YWx1ZSBQcig+fHR8KSAgIFxuKEludGVyY2VwdCkgICAgICAgICAgICAgICAgICAgICAgIDEzNS4zNzQyICAgIDkxLjg0MzEgICAyNi4wMDAwICAgMS40NzQgIDAuMTUyNDkgICBcbkhlcmJpY2lkZUhhbmQgICAgICAgICAgICAgICAgICAgICAyMDcuODczMyAgICA3MC4zMDM0ICAgMjYuMDAwMCAgIDIuOTU3ICAwLjAwNjUzICoqXG5IZXJiaWNpZGVBYXRyZXggICAgICAgICAgICAgICAgICAgMTUzLjUzNjEgICAgNzguNDI2MCAgIDI2LjAwMDAgICAxLjk1OCAgMC4wNjEwOCAuIFxuSGVyYmljaWRlQ2xhcml0eSAgICAgICAgICAgICAgICAgICA2Ni4yMDgwICAgIDYyLjcxNzcgICAyNi4wMDAwICAgMS4wNTYgIDAuMzAwODQgICBcbkhlcmJpY2lkZVJvdW5kdXAgUG93ZXJtYXggICAgICAgICAxNDAuMDcyNCAgICA3NC4xOTI1ICAgMjYuMDAwMCAgIDEuODg4ICAwLjA3MDI0IC4gXG5Ub3RhbF9XZWVkX1ZlZyAgICAgICAgICAgICAgICAgICAgIDIyLjI2MTMgICAgIDkuOTg3OSAgIDI2LjAwMDAgICAyLjIyOSAgMC4wMzQ2OCAqIFxuQkdfVDEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMC4zNTUzICAgICAwLjIyNDIgICAyNi4wMDAwICAtMS41ODUgIDAuMTI1MDQgICBcblRpbWVUMyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOTYuNTU2NCAgICA1MC41Mzc5ICAgMjYuMDAwMCAgIDEuOTExICAwLjA2NzE1IC4gXG5IZXJiaWNpZGVIYW5kOlRpbWVUMyAgICAgICAgICAgICAtMjMyLjUwMTUgICAgNzMuMzg0MyAgIDI2LjAwMDAgIC0zLjE2OCAgMC4wMDM5MCAqKlxuSGVyYmljaWRlQWF0cmV4OlRpbWVUMyAgICAgICAgICAgLTEzOS42MjMxICAgIDcwLjExMDkgICAyNi4wMDAwICAtMS45OTEgIDAuMDU3MDMgLiBcbkhlcmJpY2lkZUNsYXJpdHk6VGltZVQzICAgICAgICAgICAtNzguNDAzMyAgICA2NS4yMzc5ICAgMjYuMDAwMCAgLTEuMjAyICAwLjI0MDI3ICAgXG5IZXJiaWNpZGVSb3VuZHVwIFBvd2VybWF4OlRpbWVUMyAtMTQ4LjM4ODYgICAgNzIuMjYxMSAgIDI2LjAwMDAgIC0yLjA1NCAgMC4wNTAyMSAuIFxuLS0tXG5TaWduaWYuIGNvZGVzOiAgMCDigJgqKirigJkgMC4wMDEg4oCYKirigJkgMC4wMSDigJgq4oCZIDAuMDUg4oCYLuKAmSAwLjEg4oCYIOKAmSAxXG5cbkNvcnJlbGF0aW9uIG9mIEZpeGVkIEVmZmVjdHM6XG4gICAgICAgICAgICAoSW50cikgSHJiY2RIIEhyYmNkQSBIcmJjZEMgSHJiY1JQIFR0X1dfViBCR19UMSAgVGltZVQzIEhIOlRUMyBIQTpUVDMgSEM6VFQzXG5IZXJiaWNpZEhuZCAtMC44MTMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5IZXJiaWNkQXRyeCAtMC43NzMgIDAuODE1ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5IZXJiY2RDbHJ0eSAtMC43MzMgIDAuNzc0ICAwLjc4OSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5IcmJjZFJuZHBQdyAtMC43ODAgIDAuODExICAwLjgzNCAgMC43ODUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5Ub3RhbF9XZF9WZyAtMC44MzUgIDAuNzgzICAwLjgyMyAgMC43MTQgIDAuODA0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5CR19UMSAgICAgICAtMC40NjcgIDAuMDYxIC0wLjA3MiAtMC4wMzYgLTAuMDM4ICAwLjA0NCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5UaW1lVDMgICAgICAtMC40OTIgIDAuNTA1ICAwLjQ4MSAgMC41MTEgIDAuNDkxICAwLjI5OSAgMC4wNzYgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5IcmJjZEhuOlRUMyAgMC41NjAgLTAuNzQ2IC0wLjU1NSAtMC41NDYgLTAuNTU3IC0wLjQ3OCAtMC4wNjQgLTAuNzQ3ICAgICAgICAgICAgICAgICAgICAgXG5IcmJjZEF0OlRUMyAgMC40OTYgLTAuNTAzIC0wLjY2NyAtMC40OTUgLTAuNDk3IC0wLjM5NCAtMC4wNjIgLTAuNzUwICAwLjYyNCAgICAgICAgICAgICAgXG5IcmJjZENsOlRUMyAgMC4zMTAgLTAuMzMxIC0wLjMwOSAtMC41NzUgLTAuMzE5IC0wLjE1NSAtMC4wNTUgLTAuNzI2ICAwLjU0MiAgMC41NTEgICAgICAgXG5IcmJjZFJQOlRUMyAgMC40OTAgLTAuNDgyIC0wLjQ2NiAtMC40NzEgLTAuNjUwIC0wLjM3MiAtMC4wOTkgLTAuNzI3ICAwLjYwMiAgMC41OTEgIDAuNTM1XG5vcHRpbWl6ZXIgKG5sb3B0d3JhcCkgY29udmVyZ2VuY2UgY29kZTogMCAoT0spXG51bmFibGUgdG8gZXZhbHVhdGUgc2NhbGVkIGdyYWRpZW50XG4gSGVzc2lhbiBpcyBudW1lcmljYWxseSBzaW5ndWxhcjogcGFyYW1ldGVycyBhcmUgbm90IHVuaXF1ZWx5IGRldGVybWluZWRcblxuXG5bWzJdXVxuTGluZWFyIG1peGVkIG1vZGVsIGZpdCBieSBSRU1MLiB0LXRlc3RzIHVzZSBTYXR0ZXJ0aHdhaXRlJ3MgbWV0aG9kIFsnbG1lck1vZExtZXJUZXN0J11cbkZvcm11bGE6IG5vcXVvdGUocGFzdGUoZW56eW1lc1tpXSwgXFx+IEhlcmJpY2lkZSArIFRvdGFsX1dlZWRfVmVnICtcXCwgZW56eW1lc190MVtpXSwgIFxuICAgIFxcKyBUaW1lICsgVGltZSpIZXJiaWNpZGUgKyAoMXxUaW1lKVxcLCBzZXAgPSBcXFxcKSlcbiAgIERhdGE6IGRhdFxuXG5SRU1MIGNyaXRlcmlvbiBhdCBjb252ZXJnZW5jZTogMjMxLjdcblxuU2NhbGVkIHJlc2lkdWFsczogXG4gICAgIE1pbiAgICAgICAxUSAgIE1lZGlhbiAgICAgICAzUSAgICAgIE1heCBcbi0xLjgwMTU3IC0wLjY0NzQ0ICAwLjA5MTU4ICAwLjYyNTQ3ICAxLjU5ODk1IFxuXG5SYW5kb20gZWZmZWN0czpcbiBHcm91cHMgICBOYW1lICAgICAgICBWYXJpYW5jZSBTdGQuRGV2LlxuIFRpbWUgICAgIChJbnRlcmNlcHQpICAgNS42MTYgICAyLjM3ICAgXG4gUmVzaWR1YWwgICAgICAgICAgICAgMTY2LjcxNiAgMTIuOTEgICBcbk51bWJlciBvZiBvYnM6IDM4LCBncm91cHM6ICBUaW1lLCAyXG5cbkZpeGVkIGVmZmVjdHM6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRXN0aW1hdGUgU3RkLiBFcnJvciAgICAgICAgZGYgdCB2YWx1ZSBQcig+fHR8KSAgXG4oSW50ZXJjZXB0KSAgICAgICAgICAgICAgICAgICAgICAgIDEuNTIzMTEgICAxOS4zNzIwMCAgMjYuMDAwMDAgICAwLjA3OSAgIDAuOTM3OSAgXG5IZXJiaWNpZGVIYW5kICAgICAgICAgICAgICAgICAgICAgMjMuODQ5NzEgICAxNS4zMjYzMyAgMjYuMDAwMDAgICAxLjU1NiAgIDAuMTMxOCAgXG5IZXJiaWNpZGVBYXRyZXggICAgICAgICAgICAgICAgICAgMTYuNzUwOTUgICAxNi42MDUwMiAgMjYuMDAwMDAgICAxLjAwOSAgIDAuMzIyNCAgXG5IZXJiaWNpZGVDbGFyaXR5ICAgICAgICAgICAgICAgICAgMTUuMDAxNjkgICAxMy40OTc4MyAgMjYuMDAwMDAgICAxLjExMSAgIDAuMjc2NiAgXG5IZXJiaWNpZGVSb3VuZHVwIFBvd2VybWF4ICAgICAgICAgMjQuMDU2NzUgICAxNS41NTUxNiAgMjYuMDAwMDAgICAxLjU0NyAgIDAuMTM0MSAgXG5Ub3RhbF9XZWVkX1ZlZyAgICAgICAgICAgICAgICAgICAgIDMuNDIwNTggICAgMi4xMjkyNCAgMjYuMDAwMDAgICAxLjYwNiAgIDAuMTIwMiAgXG5DQkhfVDEgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAuMDc5MTIgICAgMC4yNDc3MiAgMjYuMDAwMDAgICAwLjMxOSAgIDAuNzUyMCAgXG5UaW1lVDMgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDkuOTIxMjIgICAxMC45ODEzMyAgMjYuMDAwMDAgICAwLjkwMyAgIDAuMzc0NiAgXG5IZXJiaWNpZGVIYW5kOlRpbWVUMyAgICAgICAgICAgICAtMjIuNTQ5ODcgICAxNS40Nzg1NCAgMjYuMDAwMDAgIC0xLjQ1NyAgIDAuMTU3MSAgXG5IZXJiaWNpZGVBYXRyZXg6VGltZVQzICAgICAgICAgICAtMTIuMDk5NDQgICAxNC43NTY2NiAgMjYuMDAwMDAgIC0wLjgyMCAgIDAuNDE5NyAgXG5IZXJiaWNpZGVDbGFyaXR5OlRpbWVUMyAgICAgICAgICAtMTQuNzYzNDMgICAxMy42NjI1NiAgMjYuMDAwMDAgIC0xLjA4MSAgIDAuMjg5OCAgXG5IZXJiaWNpZGVSb3VuZHVwIFBvd2VybWF4OlRpbWVUMyAtMzAuNzE1NzQgICAxNS4zNTA4MCAgMjYuMDAwMDAgIC0yLjAwMSAgIDAuMDU1OSAuXG4tLS1cblNpZ25pZi4gY29kZXM6ICAwIOKAmCoqKuKAmSAwLjAwMSDigJgqKuKAmSAwLjAxIOKAmCrigJkgMC4wNSDigJgu4oCZIDAuMSDigJgg4oCZIDFcblxuQ29ycmVsYXRpb24gb2YgRml4ZWQgRWZmZWN0czpcbiAgICAgICAgICAgIChJbnRyKSBIcmJjZEggSHJiY2RBIEhyYmNkQyBIcmJjUlAgVHRfV19WIENCSF9UMSBUaW1lVDMgSEg6VFQzIEhBOlRUMyBIQzpUVDNcbkhlcmJpY2lkSG5kIC0wLjg4MiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbkhlcmJpY2RBdHJ4IC0wLjg3MyAgMC44MjcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbkhlcmJjZENscnR5IC0wLjgzNSAgMC43OTMgIDAuNzk3ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbkhyYmNkUm5kcFB3IC0wLjgzMyAgMC44MDUgIDAuODM1ICAwLjc4MSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcblRvdGFsX1dkX1ZnIC0wLjg4NyAgMC43OTIgIDAuODM1ICAwLjczMCAgMC44MDcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbkNCSF9UMSAgICAgIC0wLjQ3MyAgMC4yOTQgIDAuMTgxICAwLjI0NSAgMC4wOTkgIDAuMjA3ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcblRpbWVUMyAgICAgIC0wLjUxOCAgMC41MDEgIDAuNDg2ICAwLjUxMyAgMC40ODYgIDAuMzA3ICAwLjEzOSAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbkhyYmNkSG46VFQzICAwLjU5MyAtMC43NDkgLTAuNTc0IC0wLjU2NSAtMC41NjcgLTAuNDkzIC0wLjE1NiAtMC43MjggICAgICAgICAgICAgICAgICAgICBcbkhyYmNkQXQ6VFQzICAwLjUyNiAtMC41MTYgLTAuNjgyIC0wLjUxMyAtMC41MDcgLTAuNDA5IC0wLjE0MSAtMC43MzAgIDAuNjMxICAgICAgICAgICAgICBcbkhyYmNkQ2w6VFQzICAwLjMyNiAtMC4zNDEgLTAuMzI1IC0wLjU4MSAtMC4zMjggLTAuMTY5IC0wLjA5NiAtMC43MDUgIDAuNTQ3ICAwLjU1NSAgICAgICBcbkhyYmNkUlA6VFQzICAwLjUzMSAtMC41MDkgLTAuNDk2IC0wLjUwNCAtMC42NjEgLTAuMzk3IC0wLjIwOSAtMC43MDkgIDAuNjEyICAwLjU5OSAgMC41MzlcblxuW1szXV1cbkxpbmVhciBtaXhlZCBtb2RlbCBmaXQgYnkgUkVNTC4gdC10ZXN0cyB1c2UgU2F0dGVydGh3YWl0ZSdzIG1ldGhvZCBbJ2xtZXJNb2RMbWVyVGVzdCddXG5Gb3JtdWxhOiBub3F1b3RlKHBhc3RlKGVuenltZXNbaV0sIFxcfiBIZXJiaWNpZGUgKyBUb3RhbF9XZWVkX1ZlZyArXFwsIGVuenltZXNfdDFbaV0sICBcbiAgICBcXCsgVGltZSArIFRpbWUqSGVyYmljaWRlICsgKDF8VGltZSlcXCwgc2VwID0gXFxcXCkpXG4gICBEYXRhOiBkYXRcblxuUkVNTCBjcml0ZXJpb24gYXQgY29udmVyZ2VuY2U6IDI2NFxuXG5TY2FsZWQgcmVzaWR1YWxzOiBcbiAgICAgTWluICAgICAgIDFRICAgTWVkaWFuICAgICAgIDNRICAgICAgTWF4IFxuLTEuOTkxMzYgLTAuNDkyMTcgIDAuMDgzOTYgIDAuNDQwODcgIDEuNDk3MzQgXG5cblJhbmRvbSBlZmZlY3RzOlxuIEdyb3VwcyAgIE5hbWUgICAgICAgIFZhcmlhbmNlIFN0ZC5EZXYuXG4gVGltZSAgICAgKEludGVyY2VwdCkgICA5LjY3ICAgIDMuMTEgICBcbiBSZXNpZHVhbCAgICAgICAgICAgICA1NDUuMDQgICAyMy4zNSAgIFxuTnVtYmVyIG9mIG9iczogMzgsIGdyb3VwczogIFRpbWUsIDJcblxuRml4ZWQgZWZmZWN0czpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVzdGltYXRlIFN0ZC4gRXJyb3IgICAgICAgZGYgdCB2YWx1ZSBQcig+fHR8KSAgIFxuKEludGVyY2VwdCkgICAgICAgICAgICAgICAgICAgICAgIDIzLjg3MzYgICAgNDAuNzg4MiAgMjYuMDAwMCAgIDAuNTg1ICAwLjU2MzM5ICAgXG5IZXJiaWNpZGVIYW5kICAgICAgICAgICAgICAgICAgICAgODIuNTc1OSAgICAyNy42MzUzICAyNi4wMDAwICAgMi45ODggIDAuMDA2MDYgKipcbkhlcmJpY2lkZUFhdHJleCAgICAgICAgICAgICAgICAgICAyNi44NzU3ICAgIDI5LjUzNzAgIDI2LjAwMDAgICAwLjkxMCAgMC4zNzEyMyAgIFxuSGVyYmljaWRlQ2xhcml0eSAgICAgICAgICAgICAgICAgIDQ2LjE4NjggICAgMjQuMzY4OSAgMjYuMDAwMCAgIDEuODk1ICAwLjA2OTIyIC4gXG5IZXJiaWNpZGVSb3VuZHVwIFBvd2VybWF4ICAgICAgICAgNTcuNzU2MSAgICAyOC4xOTYzICAyNi4wMDAwICAgMi4wNDggIDAuMDUwNzUgLiBcblRvdGFsX1dlZWRfVmVnICAgICAgICAgICAgICAgICAgICAgNC4yMDY1ICAgICAzLjc3MTUgIDI2LjAwMDAgICAxLjExNSAgMC4yNzQ5MSAgIFxuUEhPU19UMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLjQyNTkgICAgIDAuMjAyMyAgMjYuMDAwMCAgIDIuMTA1ICAwLjA0NTEwICogXG5UaW1lVDMgICAgICAgICAgICAgICAgICAgICAgICAgICAgMzkuNTEzNCAgICAxOS4yNTkwICAyNi4wMDAwICAgMi4wNTIgIDAuMDUwNDAgLiBcbkhlcmJpY2lkZUhhbmQ6VGltZVQzICAgICAgICAgICAgIC03NC41MjE1ICAgIDI3LjY2MDYgIDI2LjAwMDAgIC0yLjY5NCAgMC4wMTIyMCAqIFxuSGVyYmljaWRlQWF0cmV4OlRpbWVUMyAgICAgICAgICAgLTQxLjAyMTYgICAgMjYuNDM2NiAgMjYuMDAwMCAgLTEuNTUyICAwLjEzMjgyICAgXG5IZXJiaWNpZGVDbGFyaXR5OlRpbWVUMyAgICAgICAgICAtNDUuMTMwMiAgICAyNC42Mjk2ICAyNi4wMDAwICAtMS44MzIgIDAuMDc4MzggLiBcbkhlcmJpY2lkZVJvdW5kdXAgUG93ZXJtYXg6VGltZVQzIC04MS40OTUzICAgIDI3LjMzMjEgIDI2LjAwMDAgIC0yLjk4MiAgMC4wMDYxNSAqKlxuLS0tXG5TaWduaWYuIGNvZGVzOiAgMCDigJgqKirigJkgMC4wMDEg4oCYKirigJkgMC4wMSDigJgq4oCZIDAuMDUg4oCYLuKAmSAwLjEg4oCYIOKAmSAxXG5cbkNvcnJlbGF0aW9uIG9mIEZpeGVkIEVmZmVjdHM6XG4gICAgICAgICAgICAoSW50cikgSHJiY2RIIEhyYmNkQSBIcmJjZEMgSHJiY1JQIFR0X1dfViBQSE9TX1QgVGltZVQzIEhIOlRUMyBIQTpUVDMgSEM6VFQzXG5IZXJiaWNpZEhuZCAtMC44MjggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5IZXJiaWNkQXRyeCAtMC43MDMgIDAuNzk1ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5IZXJiY2RDbHJ0eSAtMC43NzYgIDAuNzkyICAwLjc3MiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5IcmJjZFJuZHBQdyAtMC43NTQgIDAuODEwICAwLjgzMSAgMC43ODUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5Ub3RhbF9XZF9WZyAtMC42NTggIDAuNzM0ICAwLjgyNyAgMC42ODIgIDAuNzk0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5QSE9TX1QxICAgICAtMC42NTggIDAuMjg1ICAwLjAyNCAgMC4yMzkgIDAuMTIyIC0wLjA1MSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5UaW1lVDMgICAgICAtMC40MzQgIDAuNDk1ICAwLjQ4NCAgMC41MTEgIDAuNDk0ICAwLjI5MCAgMC4wNjggICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5IcmJjZEhuOlRUMyAgMC40NzMgLTAuNzIzIC0wLjU2MyAtMC41NDIgLTAuNTYxIC0wLjQ3NCAtMC4wMzMgLTAuNzM5ICAgICAgICAgICAgICAgICAgICAgXG5IcmJjZEF0OlRUMyAgMC40MjQgLTAuNDkyIC0wLjY3NSAtMC40OTQgLTAuNTAyIC0wLjM4OSAtMC4wNDAgLTAuNzQyICAwLjYyMyAgICAgICAgICAgICAgXG5IcmJjZENsOlRUMyAgMC4yNzkgLTAuMzMxIC0wLjMxNSAtMC41NzQgLTAuMzI2IC0wLjE1MCAtMC4wNTcgLTAuNzE5ICAwLjU0MSAgMC41NTEgICAgICAgXG5IcmJjZFJQOlRUMyAgMC40NTQgLTAuNDg5IC0wLjQ3NiAtMC40ODggLTAuNjYyIC0wLjM2MSAtMC4xMTcgLTAuNzIwICAwLjYwMCAgMC41ODkgIDAuNTM1XG5vcHRpbWl6ZXIgKG5sb3B0d3JhcCkgY29udmVyZ2VuY2UgY29kZTogMCAoT0spXG51bmFibGUgdG8gZXZhbHVhdGUgc2NhbGVkIGdyYWRpZW50XG4gSGVzc2lhbiBpcyBudW1lcmljYWxseSBzaW5ndWxhcjogcGFyYW1ldGVycyBhcmUgbm90IHVuaXF1ZWx5IGRldGVybWluZWRcblxuXG5bWzRdXVxuTGluZWFyIG1peGVkIG1vZGVsIGZpdCBieSBSRU1MLiB0LXRlc3RzIHVzZSBTYXR0ZXJ0aHdhaXRlJ3MgbWV0aG9kIFsnbG1lck1vZExtZXJUZXN0J11cbkZvcm11bGE6IG5vcXVvdGUocGFzdGUoZW56eW1lc1tpXSwgXFx+IEhlcmJpY2lkZSArIFRvdGFsX1dlZWRfVmVnICtcXCwgZW56eW1lc190MVtpXSwgIFxuICAgIFxcKyBUaW1lICsgVGltZSpIZXJiaWNpZGUgKyAoMXxUaW1lKVxcLCBzZXAgPSBcXFxcKSlcbiAgIERhdGE6IGRhdFxuXG5SRU1MIGNyaXRlcmlvbiBhdCBjb252ZXJnZW5jZTogMjE4LjJcblxuU2NhbGVkIHJlc2lkdWFsczogXG4gICAgIE1pbiAgICAgICAxUSAgIE1lZGlhbiAgICAgICAzUSAgICAgIE1heCBcbi0xLjM5NDE3IC0wLjc0MzUyIC0wLjAyOTQ0ICAwLjY5NzQxICAxLjYxMjY0IFxuXG5SYW5kb20gZWZmZWN0czpcbiBHcm91cHMgICBOYW1lICAgICAgICBWYXJpYW5jZSBTdGQuRGV2LlxuIFRpbWUgICAgIChJbnRlcmNlcHQpICAwLjUyNDkgIDAuNzI0NSAgXG4gUmVzaWR1YWwgICAgICAgICAgICAgOTkuNTY1NCAgOS45NzgyICBcbk51bWJlciBvZiBvYnM6IDM4LCBncm91cHM6ICBUaW1lLCAyXG5cbkZpeGVkIGVmZmVjdHM6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRXN0aW1hdGUgU3RkLiBFcnJvciAgICAgICAgZGYgdCB2YWx1ZSBQcig+fHR8KVxuKEludGVyY2VwdCkgICAgICAgICAgICAgICAgICAgICAgICA0LjQ1MjMzICAgMTMuNzQzMTIgIDI2LjAwMDAwICAgMC4zMjQgICAgMC43NDlcbkhlcmJpY2lkZUhhbmQgICAgICAgICAgICAgICAgICAgICAxMy43NDAxMyAgIDExLjYyMTExICAyNi4wMDAwMCAgIDEuMTgyICAgIDAuMjQ4XG5IZXJiaWNpZGVBYXRyZXggICAgICAgICAgICAgICAgICAgIDcuMzU5NTIgICAxMi43MjI3MCAgMjYuMDAwMDAgICAwLjU3OCAgICAwLjU2OFxuSGVyYmljaWRlQ2xhcml0eSAgICAgICAgICAgICAgICAgICA0LjkyNjM0ICAgMTAuMzEyMjIgIDI2LjAwMDAwICAgMC40NzggICAgMC42MzdcbkhlcmJpY2lkZVJvdW5kdXAgUG93ZXJtYXggICAgICAgICAgOS4xMTQ0NiAgIDExLjk5Nzc3ICAyNi4wMDAwMCAgIDAuNzYwICAgIDAuNDU0XG5Ub3RhbF9XZWVkX1ZlZyAgICAgICAgICAgICAgICAgICAgIDEuODgzMzIgICAgMS42MTEzNyAgMjYuMDAwMDAgICAxLjE2OSAgICAwLjI1M1xuTkFHX1QxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLjA2MDgxICAgIDAuMTkyNzQgIDI2LjAwMDAwICAgMC4zMTUgICAgMC43NTVcblRpbWVUMyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMy4zMzk1NiAgICA4LjA3Mzk2ICAyNi4wMDAwMCAgIDAuNDE0ICAgIDAuNjgzXG5IZXJiaWNpZGVIYW5kOlRpbWVUMyAgICAgICAgICAgICAgLTUuNDYzNzAgICAxMS44MzE3NCAgMjYuMDAwMDAgIC0wLjQ2MiAgICAwLjY0OFxuSGVyYmljaWRlQWF0cmV4OlRpbWVUMyAgICAgICAgICAgIC01LjQ4NjIxICAgMTEuMzAzOTkgIDI2LjAwMDAwICAtMC40ODUgICAgMC42MzJcbkhlcmJpY2lkZUNsYXJpdHk6VGltZVQzICAgICAgICAgICAtNS42ODc5MCAgIDEwLjUxOTA1ICAyNi4wMDAwMCAgLTAuNTQxICAgIDAuNTkzXG5IZXJiaWNpZGVSb3VuZHVwIFBvd2VybWF4OlRpbWVUMyAtMTIuMDMyODMgICAxMS42NjQ2MCAgMjYuMDAwMDAgIC0xLjAzMiAgICAwLjMxMlxuXG5Db3JyZWxhdGlvbiBvZiBGaXhlZCBFZmZlY3RzOlxuICAgICAgICAgICAgKEludHIpIEhyYmNkSCBIcmJjZEEgSHJiY2RDIEhyYmNSUCBUdF9XX1YgTkFHX1QxIFRpbWVUMyBISDpUVDMgSEE6VFQzIEhDOlRUM1xuSGVyYmljaWRIbmQgLTAuODk0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuSGVyYmljZEF0cnggLTAuOTA0ICAwLjgyNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuSGVyYmNkQ2xydHkgLTAuODUzICAwLjc4NyAgMC43OTIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuSHJiY2RSbmRwUHcgLTAuODgyICAwLjgwOSAgMC44MzUgIDAuNzgyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuVG90YWxfV2RfVmcgLTAuODkxICAwLjc3MSAgMC44MjcgIDAuNzEwICAwLjgwOCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuTkFHX1QxICAgICAgLTAuMzA2ICAwLjIyNiAgMC4xMjYgIDAuMTk2ICAwLjA3NyAgMC4wNDMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuVGltZVQzICAgICAgLTAuNTEwICAwLjUwNyAgMC40OTYgIDAuNTIxICAwLjUwMiAgMC4zMDEgIDAuMDU5ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuSHJiY2RIbjpUVDMgIDAuNTg3IC0wLjczNyAtMC41NjQgLTAuNTQ5IC0wLjU2MyAtMC40NzggLTAuMDUyIC0wLjc1MyAgICAgICAgICAgICAgICAgICAgIFxuSHJiY2RBdDpUVDMgIDAuNTIwIC0wLjQ5OSAtMC42NzUgLTAuNDk4IC0wLjUwMyAtMC4zOTMgLTAuMDUwIC0wLjc1NiAgMC42MjMgICAgICAgICAgICAgIFxuSHJiY2RDbDpUVDMgIDAuMzIwIC0wLjMzMCAtMC4zMTcgLTAuNTc1IC0wLjMyNCAtMC4xNTUgLTAuMDQyIC0wLjczMiAgMC41NDIgIDAuNTUwICAgICAgIFxuSHJiY2RSUDpUVDMgIDAuNTEwIC0wLjQ4OCAtMC40ODQgLTAuNDg2IC0wLjY2MCAtMC4zNzIgLTAuMTA0IC0wLjczMyAgMC42MDIgIDAuNTkwICAwLjUzNFxuXG5bWzVdXVxuTGluZWFyIG1peGVkIG1vZGVsIGZpdCBieSBSRU1MLiB0LXRlc3RzIHVzZSBTYXR0ZXJ0aHdhaXRlJ3MgbWV0aG9kIFsnbG1lck1vZExtZXJUZXN0J11cbkZvcm11bGE6IG5vcXVvdGUocGFzdGUoZW56eW1lc1tpXSwgXFx+IEhlcmJpY2lkZSArIFRvdGFsX1dlZWRfVmVnICtcXCwgZW56eW1lc190MVtpXSwgIFxuICAgIFxcKyBUaW1lICsgVGltZSpIZXJiaWNpZGUgKyAoMXxUaW1lKVxcLCBzZXAgPSBcXFxcKSlcbiAgIERhdGE6IGRhdFxuXG5SRU1MIGNyaXRlcmlvbiBhdCBjb252ZXJnZW5jZTogMjYyLjVcblxuU2NhbGVkIHJlc2lkdWFsczogXG4gICAgIE1pbiAgICAgICAxUSAgIE1lZGlhbiAgICAgICAzUSAgICAgIE1heCBcbi0xLjQ0NzQ5IC0wLjU5OTc3ICAwLjA1Mzc3ICAwLjY3OTQzICAxLjkwNDE5IFxuXG5SYW5kb20gZWZmZWN0czpcbiBHcm91cHMgICBOYW1lICAgICAgICBWYXJpYW5jZSBTdGQuRGV2LlxuIFRpbWUgICAgIChJbnRlcmNlcHQpICAxNC45OCAgICAzLjg3MSAgXG4gUmVzaWR1YWwgICAgICAgICAgICAgNTM0LjAzICAgMjMuMTA5ICBcbk51bWJlciBvZiBvYnM6IDM4LCBncm91cHM6ICBUaW1lLCAyXG5cbkZpeGVkIGVmZmVjdHM6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFc3RpbWF0ZSBTdGQuIEVycm9yICAgICAgIGRmIHQgdmFsdWUgUHIoPnx0fClcbihJbnRlcmNlcHQpICAgICAgICAgICAgICAgICAgICAgICAtNi4wOTYwICAgIDMzLjY1NTQgIDI2LjAwMDAgIC0wLjE4MSAgICAwLjg1OFxuSGVyYmljaWRlSGFuZCAgICAgICAgICAgICAgICAgICAgIDQxLjQzNTEgICAgMjcuNDM2MiAgMjYuMDAwMCAgIDEuNTEwICAgIDAuMTQzXG5IZXJiaWNpZGVBYXRyZXggICAgICAgICAgICAgICAgICAgMzYuNDg1MyAgICAyOS4zMzQ3ICAyNi4wMDAwICAgMS4yNDQgICAgMC4yMjVcbkhlcmJpY2lkZUNsYXJpdHkgICAgICAgICAgICAgICAgICAyNi4xNzI5ICAgIDI0LjA1MzAgIDI2LjAwMDAgICAxLjA4OCAgICAwLjI4N1xuSGVyYmljaWRlUm91bmR1cCBQb3dlcm1heCAgICAgICAgIDI4LjQyMDUgICAgMjcuNzUwNSAgMjYuMDAwMCAgIDEuMDI0ICAgIDAuMzE1XG5Ub3RhbF9XZWVkX1ZlZyAgICAgICAgICAgICAgICAgICAgIDQuOTQ4MCAgICAgMy43NDQ0ICAyNi4wMDAwICAgMS4zMjEgICAgMC4xOThcbkJYX1QxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMC4yODIxICAgICAwLjMzNjggIDI2LjAwMDAgICAwLjgzNyAgICAwLjQxMFxuVGltZVQzICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwLjM3OTAgICAgMTkuNDAzMCAgMjYuMDAwMCAgIDAuNTM1ICAgIDAuNTk3XG5IZXJiaWNpZGVIYW5kOlRpbWVUMyAgICAgICAgICAgICAtMzQuMzA1MSAgICAyNy40ODk1ICAyNi4wMDAwICAtMS4yNDggICAgMC4yMjNcbkhlcmJpY2lkZUFhdHJleDpUaW1lVDMgICAgICAgICAgIC0yOS42OTQxICAgIDI2LjI1MzAgIDI2LjAwMDAgIC0xLjEzMSAgICAwLjI2OFxuSGVyYmljaWRlQ2xhcml0eTpUaW1lVDMgICAgICAgICAgIC00LjkzNTAgICAgMjQuNDAzMCAgMjYuMDAwMCAgLTAuMjAyICAgIDAuODQxXG5IZXJiaWNpZGVSb3VuZHVwIFBvd2VybWF4OlRpbWVUMyAtMzEuMDgwMCAgICAyNy4yNzM5ICAyNi4wMDAwICAtMS4xNDAgICAgMC4yNjVcblxuQ29ycmVsYXRpb24gb2YgRml4ZWQgRWZmZWN0czpcbiAgICAgICAgICAgIChJbnRyKSBIcmJjZEggSHJiY2RBIEhyYmNkQyBIcmJjUlAgVHRfV19WIEJYX1QxICBUaW1lVDMgSEg6VFQzIEhBOlRUMyBIQzpUVDNcbkhlcmJpY2lkSG5kIC0wLjg5MCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbkhlcmJpY2RBdHJ4IC0wLjg1OCAgMC44MDggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbkhlcmJjZENscnR5IC0wLjg0MSAgMC43OTEgIDAuNzg1ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbkhyYmNkUm5kcFB3IC0wLjgzNyAgMC43OTUgIDAuODM1ICAwLjc3NiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcblRvdGFsX1dkX1ZnIC0wLjg2NiAgMC43NzEgIDAuODMwICAwLjcxNiAgMC44MDggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbkJYX1QxICAgICAgIC0wLjQyMyAgMC4yOTQgIDAuMDg1ICAwLjIyOCAgMC4wNTkgIDAuMDkyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcblRpbWVUMyAgICAgIC0wLjUwOSAgMC40OTUgIDAuNDgxICAwLjUxMCAgMC40ODYgIDAuMjk2ICAwLjA5OSAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbkhyYmNkSG46VFQzICAwLjU3OSAtMC43MzcgLTAuNTY2IC0wLjU1NSAtMC41NjMgLTAuNDgxIC0wLjA5NSAtMC43MzAgICAgICAgICAgICAgICAgICAgICBcbkhyYmNkQXQ6VFQzICAwLjUxNCAtMC41MDQgLTAuNjc3IC0wLjUwNCAtMC41MDMgLTAuMzk3IC0wLjA5MCAtMC43MzMgIDAuNjI2ICAgICAgICAgICAgICBcbkhyYmNkQ2w6VFQzICAwLjMyMCAtMC4zMzUgLTAuMzE5IC0wLjU3OCAtMC4zMjUgLTAuMTU5IC0wLjA3MiAtMC43MDkgIDAuNTQ0ICAwLjU1MiAgICAgICBcbkhyYmNkUlA6VFQzICAwLjUyMSAtMC41MDEgLTAuNDgzIC0wLjQ5NyAtMC42NTcgLTAuMzc5IC0wLjE3MiAtMC43MTEgIDAuNjA1ICAwLjU5MyAgMC41MzZcbm9wdGltaXplciAobmxvcHR3cmFwKSBjb252ZXJnZW5jZSBjb2RlOiAwIChPSylcbnVuYWJsZSB0byBldmFsdWF0ZSBzY2FsZWQgZ3JhZGllbnRcbiBIZXNzaWFuIGlzIG51bWVyaWNhbGx5IHNpbmd1bGFyOiBwYXJhbWV0ZXJzIGFyZSBub3QgdW5pcXVlbHkgZGV0ZXJtaW5lZFxuXG5cbltbNl1dXG5MaW5lYXIgbWl4ZWQgbW9kZWwgZml0IGJ5IFJFTUwuIHQtdGVzdHMgdXNlIFNhdHRlcnRod2FpdGUncyBtZXRob2QgWydsbWVyTW9kTG1lclRlc3QnXVxuRm9ybXVsYTogbm9xdW90ZShwYXN0ZShlbnp5bWVzW2ldLCBcXH4gSGVyYmljaWRlICsgVG90YWxfV2VlZF9WZWcgK1xcLCBlbnp5bWVzX3QxW2ldLCAgXG4gICAgXFwrIFRpbWUgKyBUaW1lKkhlcmJpY2lkZSArICgxfFRpbWUpXFwsIHNlcCA9IFxcXFwpKVxuICAgRGF0YTogZGF0XG5cblJFTUwgY3JpdGVyaW9uIGF0IGNvbnZlcmdlbmNlOiAyNTYuM1xuXG5TY2FsZWQgcmVzaWR1YWxzOiBcbiAgICBNaW4gICAgICAxUSAgTWVkaWFuICAgICAgM1EgICAgIE1heCBcbi0xLjE4MjkgLTAuNzM0NiAtMC4xNzYyICAwLjYwNTYgIDIuMDkzNCBcblxuUmFuZG9tIGVmZmVjdHM6XG4gR3JvdXBzICAgTmFtZSAgICAgICAgVmFyaWFuY2UgU3RkLkRldi5cbiBUaW1lICAgICAoSW50ZXJjZXB0KSAgIDAuNDY3NSAgMC42ODM4IFxuIFJlc2lkdWFsICAgICAgICAgICAgIDQyMi4zNTE3IDIwLjU1MTIgXG5OdW1iZXIgb2Ygb2JzOiAzOCwgZ3JvdXBzOiAgVGltZSwgMlxuXG5GaXhlZCBlZmZlY3RzOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFc3RpbWF0ZSBTdGQuIEVycm9yICAgICAgICAgZGYgdCB2YWx1ZSBQcig+fHR8KVxuKEludGVyY2VwdCkgICAgICAgICAgICAgICAgICAgICAgIDEuMDQ2ZSswMSAgMi44NDVlKzAxICA3LjI0OWUtMDQgICAwLjM2OCAgICAwLjk5OFxuSGVyYmljaWRlSGFuZCAgICAgICAgICAgICAgICAgICAgIDIuMTE0ZSswMSAgMi4zOTVlKzAxICAyLjYwMGUrMDEgICAwLjg4MyAgICAwLjM4NlxuSGVyYmljaWRlQWF0cmV4ICAgICAgICAgICAgICAgICAgIDEuNDA0ZSswMSAgMi42MDFlKzAxICAyLjYwMGUrMDEgICAwLjU0MCAgICAwLjU5NFxuSGVyYmljaWRlQ2xhcml0eSAgICAgICAgICAgICAgICAgIDEuMDUyZSswMSAgMi4xMTBlKzAxICAyLjYwMGUrMDEgICAwLjQ5OSAgICAwLjYyMlxuSGVyYmljaWRlUm91bmR1cCBQb3dlcm1heCAgICAgICAgIDEuOTIzZSswMSAgMi40NjRlKzAxICAyLjYwMGUrMDEgICAwLjc4MCAgICAwLjQ0MlxuVG90YWxfV2VlZF9WZWcgICAgICAgICAgICAgICAgICAgIDIuNjExZSswMCAgMy4zMjFlKzAwICAyLjYwMGUrMDEgICAwLjc4NiAgICAwLjQzOVxuQUdfVDEgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuMTQxZS0wMSAgMy4wNTVlLTAxICAyLjYwMGUrMDEgICAwLjM3MyAgICAwLjcxMlxuVGltZVQzICAgICAgICAgICAgICAgICAgICAgICAgICAgIDMuOTk0ZSswMCAgMS42NThlKzAxICAyLjA4OWUtMDUgICAwLjI0MSAgICAxLjAwMFxuSGVyYmljaWRlSGFuZDpUaW1lVDMgICAgICAgICAgICAgLTEuNjQ2ZSswMSAgMi40NDJlKzAxICAyLjYwMGUrMDEgIC0wLjY3NCAgICAwLjUwNlxuSGVyYmljaWRlQWF0cmV4OlRpbWVUMyAgICAgICAgICAgLTQuNjAzZSswMCAgMi4zMzNlKzAxICAyLjYwMGUrMDEgIC0wLjE5NyAgICAwLjg0NVxuSGVyYmljaWRlQ2xhcml0eTpUaW1lVDMgICAgICAgICAgLTguMjYxZSswMCAgMi4xNzBlKzAxICAyLjYwMGUrMDEgIC0wLjM4MSAgICAwLjcwN1xuSGVyYmljaWRlUm91bmR1cCBQb3dlcm1heDpUaW1lVDMgLTIuMTE1ZSswMSAgMi40MTllKzAxICAyLjYwMGUrMDEgIC0wLjg3NCAgICAwLjM5MFxuXG5Db3JyZWxhdGlvbiBvZiBGaXhlZCBFZmZlY3RzOlxuICAgICAgICAgICAgKEludHIpIEhyYmNkSCBIcmJjZEEgSHJiY2RDIEhyYmNSUCBUdF9XX1YgQUdfVDEgIFRpbWVUMyBISDpUVDMgSEE6VFQzIEhDOlRUM1xuSGVyYmljaWRIbmQgLTAuODk0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuSGVyYmljZEF0cnggLTAuODc3ICAwLjgwNyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuSGVyYmNkQ2xydHkgLTAuODQ2ICAwLjc4NCAgMC43ODMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuSHJiY2RSbmRwUHcgLTAuODYyICAwLjc5NyAgMC44MzQgIDAuNzc3ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuVG90YWxfV2RfVmcgLTAuODkxICAwLjc3MyAgMC44MjkgIDAuNzE1ICAwLjgwNyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuQUdfVDEgICAgICAgLTAuMzI0ICAwLjIyOCAgMC4wMzAgIDAuMTU5ICAwLjAxNiAgMC4wNTYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuVGltZVQzICAgICAgLTAuNTE5ICAwLjUxNyAgMC40OTcgIDAuNTMwICAwLjUwMiAgMC4zMDUgIDAuMDk5ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuSHJiY2RIbjpUVDMgIDAuNTk0IC0wLjc0MiAtMC41NjMgLTAuNTU0IC0wLjU2MSAtMC40NzkgLTAuMDgzIC0wLjc1OSAgICAgICAgICAgICAgICAgICAgIFxuSHJiY2RBdDpUVDMgIDAuNTI3IC0wLjUwNSAtMC42NzQgLTAuNTA0IC0wLjUwMSAtMC4zOTUgLTAuMDgxIC0wLjc2MiAgMC42MjUgICAgICAgICAgICAgIFxuSHJiY2RDbDpUVDMgIDAuMzI4IC0wLjMzNiAtMC4zMTYgLTAuNTgxIC0wLjMyMiAtMC4xNTcgLTAuMDcyIC0wLjczOCAgMC41NDMgIDAuNTUyICAgICAgIFxuSHJiY2RSUDpUVDMgIDAuNTI0IC0wLjQ5NiAtMC40NzUgLTAuNDkwIC0wLjY1MiAtMC4zNzQgLTAuMTU2IC0wLjc0MCAgMC42MDQgIDAuNTkyICAwLjUzNlxuXG5bWzddXVxuTGluZWFyIG1peGVkIG1vZGVsIGZpdCBieSBSRU1MLiB0LXRlc3RzIHVzZSBTYXR0ZXJ0aHdhaXRlJ3MgbWV0aG9kIFsnbG1lck1vZExtZXJUZXN0J11cbkZvcm11bGE6IG5vcXVvdGUocGFzdGUoZW56eW1lc1tpXSwgXFx+IEhlcmJpY2lkZSArIFRvdGFsX1dlZWRfVmVnICtcXCwgZW56eW1lc190MVtpXSwgIFxuICAgIFxcKyBUaW1lICsgVGltZSpIZXJiaWNpZGUgKyAoMXxUaW1lKVxcLCBzZXAgPSBcXFxcKSlcbiAgIERhdGE6IGRhdFxuXG5SRU1MIGNyaXRlcmlvbiBhdCBjb252ZXJnZW5jZTogMjY4LjFcblxuU2NhbGVkIHJlc2lkdWFsczogXG4gICAgIE1pbiAgICAgICAxUSAgIE1lZGlhbiAgICAgICAzUSAgICAgIE1heCBcbi0xLjg3MDQ0IC0wLjQzMDg4ICAwLjAwMTc1ICAwLjU5MTM5ICAxLjgyNDM1IFxuXG5SYW5kb20gZWZmZWN0czpcbiBHcm91cHMgICBOYW1lICAgICAgICBWYXJpYW5jZSBTdGQuRGV2LlxuIFRpbWUgICAgIChJbnRlcmNlcHQpICAgMzAuOTMgICA1LjU2MSAgXG4gUmVzaWR1YWwgICAgICAgICAgICAgMTM0Ni43NyAgMzYuNjk4ICBcbk51bWJlciBvZiBvYnM6IDM2LCBncm91cHM6ICBUaW1lLCAyXG5cbkZpeGVkIGVmZmVjdHM6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRXN0aW1hdGUgU3RkLiBFcnJvciAgICAgICAgZGYgdCB2YWx1ZSBQcig+fHR8KSAgIFxuKEludGVyY2VwdCkgICAgICAgICAgICAgICAgICAgICAgIDEwMi40MTM4ICAgIDcwLjc3NTAgICAyNC4wMDAwICAgMS40NDcgIDAuMTYwODIgICBcbkhlcmJpY2lkZUhhbmQgICAgICAgICAgICAgICAgICAgICAgOTAuMTMwMiAgICA0Ny4xMTI3ICAgMjQuMDAwMCAgIDEuOTEzICAwLjA2Nzc0IC4gXG5IZXJiaWNpZGVBYXRyZXggICAgICAgICAgICAgICAgICAgIDUxLjQ0OTUgICAgNTEuNDgyOSAgIDI0LjAwMDAgICAwLjk5OSAgMC4zMjc1OSAgIFxuSGVyYmljaWRlQ2xhcml0eSAgICAgICAgICAgICAgICAgICA1My40Mjg2ICAgIDQyLjM2NDggICAyNC4wMDAwICAgMS4yNjEgIDAuMjE5MzggICBcbkhlcmJpY2lkZVJvdW5kdXAgUG93ZXJtYXggICAgICAgICAgOTAuMDg3MSAgICA0OS4zMjg2ICAgMjQuMDAwMCAgIDEuODI2ICAwLjA4MDI4IC4gXG5Ub3RhbF9XZWVkX1ZlZyAgICAgICAgICAgICAgICAgICAgIDE0LjM4NzQgICAgIDYuMjg2OSAgIDI0LjAwMDAgICAyLjI4OCAgMC4wMzEyMSAqIFxuTEFQX1QxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMC4xNTY2ICAgICAwLjE1NjUgICAyNC4wMDAwICAgMS4wMDAgIDAuMzI3MDkgICBcblRpbWVUMyAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMTUuMjU3NSAgICAzNi44ODgxICAgMjQuMDAwMCAgIDMuMTI1ICAwLjAwNDYxICoqXG5IZXJiaWNpZGVIYW5kOlRpbWVUMyAgICAgICAgICAgICAtMTQ0LjE0MTIgICAgNDkuNTg2MyAgIDI0LjAwMDAgIC0yLjkwNyAgMC4wMDc3MyAqKlxuSGVyYmljaWRlQWF0cmV4OlRpbWVUMyAgICAgICAgICAgIC05Mi45MTk1ICAgIDQ3LjMyMTIgICAyNC4wMDAwICAtMS45NjQgIDAuMDYxMjYgLiBcbkhlcmJpY2lkZUNsYXJpdHk6VGltZVQzICAgICAgICAgIC0xMDIuNTc5OCAgICA0My41ODk0ICAgMjQuMDAwMCAgLTIuMzUzICAwLjAyNzE0ICogXG5IZXJiaWNpZGVSb3VuZHVwIFBvd2VybWF4OlRpbWVUMyAtMTcwLjMyMTQgICAgNDguNTAzNSAgIDI0LjAwMDAgIC0zLjUxMiAgMC4wMDE3OSAqKlxuLS0tXG5TaWduaWYuIGNvZGVzOiAgMCDigJgqKirigJkgMC4wMDEg4oCYKirigJkgMC4wMSDigJgq4oCZIDAuMDUg4oCYLuKAmSAwLjEg4oCYIOKAmSAxXG5cbkNvcnJlbGF0aW9uIG9mIEZpeGVkIEVmZmVjdHM6XG4gICAgICAgICAgICAoSW50cikgSHJiY2RIIEhyYmNkQSBIcmJjZEMgSHJiY1JQIFR0X1dfViBMQVBfVDEgVGltZVQzIEhIOlRUMyBIQTpUVDMgSEM6VFQzXG5IZXJiaWNpZEhuZCAtMC43OTMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5IZXJiaWNkQXRyeCAtMC42OTIgIDAuODM5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5IZXJiY2RDbHJ0eSAtMC43NzQgIDAuODI3ICAwLjgxMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5IcmJjZFJuZHBQdyAtMC43NzkgIDAuODU0ICAwLjg1NSAgMC44MzAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5Ub3RhbF9XZF9WZyAtMC44MTAgIDAuODA0ICAwLjgxOCAgMC43NDkgIDAuODIyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5MQVBfVDEgICAgICAtMC42NDcgIDAuMTcxIC0wLjAyNCAgMC4xODEgIDAuMTMwICAwLjE5NSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5UaW1lVDMgICAgICAtMC41MDQgIDAuNTQ0ICAwLjUxMyAgMC41NTUgIDAuNTM2ICAwLjM1NCAgMC4xMzQgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5IcmJjZEhuOlRUMyAgMC41NzEgLTAuNzUyIC0wLjU4OSAtMC42MDMgLTAuNjA3IC0wLjUxNyAtMC4xNDkgLTAuODAwICAgICAgICAgICAgICAgICAgICAgXG5IcmJjZEF0OlRUMyAgMC41MTggLTAuNTU3IC0wLjY3NCAtMC41NTcgLTAuNTU0IC0wLjQ0MiAtMC4xMzcgLTAuODAzICAwLjcwOSAgICAgICAgICAgICAgXG5IcmJjZENsOlRUMyAgMC4zNTggLTAuNDAyIC0wLjM3NiAtMC41OTggLTAuMzk0IC0wLjIyOCAtMC4wOTkgLTAuNzgyICAwLjY0MCAgMC42NDggICAgICAgXG5IcmJjZFJQOlRUMyAgMC41MTggLTAuNTQxIC0wLjUxMyAtMC41NDEgLTAuNjc3IC0wLjQyNyAtMC4xNjQgLTAuNzg0ICAwLjY5MSAgMC42ODIgIDAuNjMzXG4ifQ== -->

[[1]] Linear mixed model fit by REML. t-tests use Satterthwaite’s method [‘lmerModLmerTest’] Formula: noquote(paste(enzymes[i], ~ Herbicide + Total_Weed_Veg +, enzymes_t1[i],
+ Time + Time*Herbicide + (1|Time), sep = \)) Data: dat

REML criterion at convergence: 316.4

Scaled residuals: Min 1Q Median 3Q Max -1.5621 -0.6573 0.1760 0.7593 1.3011

Random effects: Groups Name Variance Std.Dev. Time (Intercept) 42.19 6.496
Residual 3824.76 61.845
Number of obs: 38, groups: Time, 2

Fixed effects: Estimate Std. Error df t value Pr(>|t|)
(Intercept) 135.3742 91.8431 26.0000 1.474 0.15249
HerbicideHand 207.8733 70.3034 26.0000 2.957 0.00653 HerbicideAatrex 153.5361 78.4260 26.0000 1.958 0.06108 . HerbicideClarity 66.2080 62.7177 26.0000 1.056 0.30084
HerbicideRoundup Powermax 140.0724 74.1925 26.0000 1.888 0.07024 . Total_Weed_Veg 22.2613 9.9879 26.0000 2.229 0.03468 * BG_T1 -0.3553 0.2242 26.0000 -1.585 0.12504
TimeT3 96.5564 50.5379 26.0000 1.911 0.06715 . HerbicideHand:TimeT3 -232.5015 73.3843 26.0000 -3.168 0.00390
HerbicideAatrex:TimeT3 -139.6231 70.1109 26.0000 -1.991 0.05703 . HerbicideClarity:TimeT3 -78.4033 65.2379 26.0000 -1.202 0.24027
HerbicideRoundup Powermax:TimeT3 -148.3886 72.2611 26.0000 -2.054 0.05021 . — Signif. codes: 0 ‘’ 0.001 ‘’ 0.01 ‘’ 0.05 ‘.’ 0.1 ‘ ’ 1

Correlation of Fixed Effects: (Intr) HrbcdH HrbcdA HrbcdC HrbcRP Tt_W_V BG_T1 TimeT3 HH:TT3 HA:TT3 HC:TT3 HerbicidHnd -0.813
HerbicdAtrx -0.773 0.815
HerbcdClrty -0.733 0.774 0.789
HrbcdRndpPw -0.780 0.811 0.834 0.785
Total_Wd_Vg -0.835 0.783 0.823 0.714 0.804
BG_T1 -0.467 0.061 -0.072 -0.036 -0.038 0.044
TimeT3 -0.492 0.505 0.481 0.511 0.491 0.299 0.076
HrbcdHn:TT3 0.560 -0.746 -0.555 -0.546 -0.557 -0.478 -0.064 -0.747
HrbcdAt:TT3 0.496 -0.503 -0.667 -0.495 -0.497 -0.394 -0.062 -0.750 0.624
HrbcdCl:TT3 0.310 -0.331 -0.309 -0.575 -0.319 -0.155 -0.055 -0.726 0.542 0.551
HrbcdRP:TT3 0.490 -0.482 -0.466 -0.471 -0.650 -0.372 -0.099 -0.727 0.602 0.591 0.535 optimizer (nloptwrap) convergence code: 0 (OK) unable to evaluate scaled gradient Hessian is numerically singular: parameters are not uniquely determined

[[2]] Linear mixed model fit by REML. t-tests use Satterthwaite’s method [‘lmerModLmerTest’] Formula: noquote(paste(enzymes[i], ~ Herbicide + Total_Weed_Veg +, enzymes_t1[i],
+ Time + Time*Herbicide + (1|Time), sep = \)) Data: dat

REML criterion at convergence: 231.7

Scaled residuals: Min 1Q Median 3Q Max -1.80157 -0.64744 0.09158 0.62547 1.59895

Random effects: Groups Name Variance Std.Dev. Time (Intercept) 5.616 2.37
Residual 166.716 12.91
Number of obs: 38, groups: Time, 2

Fixed effects: Estimate Std. Error df t value Pr(>|t|)
(Intercept) 1.52311 19.37200 26.00000 0.079 0.9379
HerbicideHand 23.84971 15.32633 26.00000 1.556 0.1318
HerbicideAatrex 16.75095 16.60502 26.00000 1.009 0.3224
HerbicideClarity 15.00169 13.49783 26.00000 1.111 0.2766
HerbicideRoundup Powermax 24.05675 15.55516 26.00000 1.547 0.1341
Total_Weed_Veg 3.42058 2.12924 26.00000 1.606 0.1202
CBH_T1 0.07912 0.24772 26.00000 0.319 0.7520
TimeT3 9.92122 10.98133 26.00000 0.903 0.3746
HerbicideHand:TimeT3 -22.54987 15.47854 26.00000 -1.457 0.1571
HerbicideAatrex:TimeT3 -12.09944 14.75666 26.00000 -0.820 0.4197
HerbicideClarity:TimeT3 -14.76343 13.66256 26.00000 -1.081 0.2898
HerbicideRoundup Powermax:TimeT3 -30.71574 15.35080 26.00000 -2.001 0.0559 . — Signif. codes: 0 ‘’ 0.001 ‘’ 0.01 ‘’ 0.05 ‘.’ 0.1 ‘ ’ 1

Correlation of Fixed Effects: (Intr) HrbcdH HrbcdA HrbcdC HrbcRP Tt_W_V CBH_T1 TimeT3 HH:TT3 HA:TT3 HC:TT3 HerbicidHnd -0.882
HerbicdAtrx -0.873 0.827
HerbcdClrty -0.835 0.793 0.797
HrbcdRndpPw -0.833 0.805 0.835 0.781
Total_Wd_Vg -0.887 0.792 0.835 0.730 0.807
CBH_T1 -0.473 0.294 0.181 0.245 0.099 0.207
TimeT3 -0.518 0.501 0.486 0.513 0.486 0.307 0.139
HrbcdHn:TT3 0.593 -0.749 -0.574 -0.565 -0.567 -0.493 -0.156 -0.728
HrbcdAt:TT3 0.526 -0.516 -0.682 -0.513 -0.507 -0.409 -0.141 -0.730 0.631
HrbcdCl:TT3 0.326 -0.341 -0.325 -0.581 -0.328 -0.169 -0.096 -0.705 0.547 0.555
HrbcdRP:TT3 0.531 -0.509 -0.496 -0.504 -0.661 -0.397 -0.209 -0.709 0.612 0.599 0.539

[[3]] Linear mixed model fit by REML. t-tests use Satterthwaite’s method [‘lmerModLmerTest’] Formula: noquote(paste(enzymes[i], ~ Herbicide + Total_Weed_Veg +, enzymes_t1[i],
+ Time + Time*Herbicide + (1|Time), sep = \)) Data: dat

REML criterion at convergence: 264

Scaled residuals: Min 1Q Median 3Q Max -1.99136 -0.49217 0.08396 0.44087 1.49734

Random effects: Groups Name Variance Std.Dev. Time (Intercept) 9.67 3.11
Residual 545.04 23.35
Number of obs: 38, groups: Time, 2

Fixed effects: Estimate Std. Error df t value Pr(>|t|)
(Intercept) 23.8736 40.7882 26.0000 0.585 0.56339
HerbicideHand 82.5759 27.6353 26.0000 2.988 0.00606 HerbicideAatrex 26.8757 29.5370 26.0000 0.910 0.37123
HerbicideClarity 46.1868 24.3689 26.0000 1.895 0.06922 . HerbicideRoundup Powermax 57.7561 28.1963 26.0000 2.048 0.05075 . Total_Weed_Veg 4.2065 3.7715 26.0000 1.115 0.27491
PHOS_T1 0.4259 0.2023 26.0000 2.105 0.04510 * TimeT3 39.5134 19.2590 26.0000 2.052 0.05040 . HerbicideHand:TimeT3 -74.5215 27.6606 26.0000 -2.694 0.01220 * HerbicideAatrex:TimeT3 -41.0216 26.4366 26.0000 -1.552 0.13282
HerbicideClarity:TimeT3 -45.1302 24.6296 26.0000 -1.832 0.07838 . HerbicideRoundup Powermax:TimeT3 -81.4953 27.3321 26.0000 -2.982 0.00615
— Signif. codes: 0 ‘’ 0.001 ‘’ 0.01 ‘’ 0.05 ‘.’ 0.1 ‘ ’ 1

Correlation of Fixed Effects: (Intr) HrbcdH HrbcdA HrbcdC HrbcRP Tt_W_V PHOS_T TimeT3 HH:TT3 HA:TT3 HC:TT3 HerbicidHnd -0.828
HerbicdAtrx -0.703 0.795
HerbcdClrty -0.776 0.792 0.772
HrbcdRndpPw -0.754 0.810 0.831 0.785
Total_Wd_Vg -0.658 0.734 0.827 0.682 0.794
PHOS_T1 -0.658 0.285 0.024 0.239 0.122 -0.051
TimeT3 -0.434 0.495 0.484 0.511 0.494 0.290 0.068
HrbcdHn:TT3 0.473 -0.723 -0.563 -0.542 -0.561 -0.474 -0.033 -0.739
HrbcdAt:TT3 0.424 -0.492 -0.675 -0.494 -0.502 -0.389 -0.040 -0.742 0.623
HrbcdCl:TT3 0.279 -0.331 -0.315 -0.574 -0.326 -0.150 -0.057 -0.719 0.541 0.551
HrbcdRP:TT3 0.454 -0.489 -0.476 -0.488 -0.662 -0.361 -0.117 -0.720 0.600 0.589 0.535 optimizer (nloptwrap) convergence code: 0 (OK) unable to evaluate scaled gradient Hessian is numerically singular: parameters are not uniquely determined

[[4]] Linear mixed model fit by REML. t-tests use Satterthwaite’s method [‘lmerModLmerTest’] Formula: noquote(paste(enzymes[i], ~ Herbicide + Total_Weed_Veg +, enzymes_t1[i],
+ Time + Time*Herbicide + (1|Time), sep = \)) Data: dat

REML criterion at convergence: 218.2

Scaled residuals: Min 1Q Median 3Q Max -1.39417 -0.74352 -0.02944 0.69741 1.61264

Random effects: Groups Name Variance Std.Dev. Time (Intercept) 0.5249 0.7245
Residual 99.5654 9.9782
Number of obs: 38, groups: Time, 2

Fixed effects: Estimate Std. Error df t value Pr(>|t|) (Intercept) 4.45233 13.74312 26.00000 0.324 0.749 HerbicideHand 13.74013 11.62111 26.00000 1.182 0.248 HerbicideAatrex 7.35952 12.72270 26.00000 0.578 0.568 HerbicideClarity 4.92634 10.31222 26.00000 0.478 0.637 HerbicideRoundup Powermax 9.11446 11.99777 26.00000 0.760 0.454 Total_Weed_Veg 1.88332 1.61137 26.00000 1.169 0.253 NAG_T1 0.06081 0.19274 26.00000 0.315 0.755 TimeT3 3.33956 8.07396 26.00000 0.414 0.683 HerbicideHand:TimeT3 -5.46370 11.83174 26.00000 -0.462 0.648 HerbicideAatrex:TimeT3 -5.48621 11.30399 26.00000 -0.485 0.632 HerbicideClarity:TimeT3 -5.68790 10.51905 26.00000 -0.541 0.593 HerbicideRoundup Powermax:TimeT3 -12.03283 11.66460 26.00000 -1.032 0.312

Correlation of Fixed Effects: (Intr) HrbcdH HrbcdA HrbcdC HrbcRP Tt_W_V NAG_T1 TimeT3 HH:TT3 HA:TT3 HC:TT3 HerbicidHnd -0.894
HerbicdAtrx -0.904 0.824
HerbcdClrty -0.853 0.787 0.792
HrbcdRndpPw -0.882 0.809 0.835 0.782
Total_Wd_Vg -0.891 0.771 0.827 0.710 0.808
NAG_T1 -0.306 0.226 0.126 0.196 0.077 0.043
TimeT3 -0.510 0.507 0.496 0.521 0.502 0.301 0.059
HrbcdHn:TT3 0.587 -0.737 -0.564 -0.549 -0.563 -0.478 -0.052 -0.753
HrbcdAt:TT3 0.520 -0.499 -0.675 -0.498 -0.503 -0.393 -0.050 -0.756 0.623
HrbcdCl:TT3 0.320 -0.330 -0.317 -0.575 -0.324 -0.155 -0.042 -0.732 0.542 0.550
HrbcdRP:TT3 0.510 -0.488 -0.484 -0.486 -0.660 -0.372 -0.104 -0.733 0.602 0.590 0.534

[[5]] Linear mixed model fit by REML. t-tests use Satterthwaite’s method [‘lmerModLmerTest’] Formula: noquote(paste(enzymes[i], ~ Herbicide + Total_Weed_Veg +, enzymes_t1[i],
+ Time + Time*Herbicide + (1|Time), sep = \)) Data: dat

REML criterion at convergence: 262.5

Scaled residuals: Min 1Q Median 3Q Max -1.44749 -0.59977 0.05377 0.67943 1.90419

Random effects: Groups Name Variance Std.Dev. Time (Intercept) 14.98 3.871
Residual 534.03 23.109
Number of obs: 38, groups: Time, 2

Fixed effects: Estimate Std. Error df t value Pr(>|t|) (Intercept) -6.0960 33.6554 26.0000 -0.181 0.858 HerbicideHand 41.4351 27.4362 26.0000 1.510 0.143 HerbicideAatrex 36.4853 29.3347 26.0000 1.244 0.225 HerbicideClarity 26.1729 24.0530 26.0000 1.088 0.287 HerbicideRoundup Powermax 28.4205 27.7505 26.0000 1.024 0.315 Total_Weed_Veg 4.9480 3.7444 26.0000 1.321 0.198 BX_T1 0.2821 0.3368 26.0000 0.837 0.410 TimeT3 10.3790 19.4030 26.0000 0.535 0.597 HerbicideHand:TimeT3 -34.3051 27.4895 26.0000 -1.248 0.223 HerbicideAatrex:TimeT3 -29.6941 26.2530 26.0000 -1.131 0.268 HerbicideClarity:TimeT3 -4.9350 24.4030 26.0000 -0.202 0.841 HerbicideRoundup Powermax:TimeT3 -31.0800 27.2739 26.0000 -1.140 0.265

Correlation of Fixed Effects: (Intr) HrbcdH HrbcdA HrbcdC HrbcRP Tt_W_V BX_T1 TimeT3 HH:TT3 HA:TT3 HC:TT3 HerbicidHnd -0.890
HerbicdAtrx -0.858 0.808
HerbcdClrty -0.841 0.791 0.785
HrbcdRndpPw -0.837 0.795 0.835 0.776
Total_Wd_Vg -0.866 0.771 0.830 0.716 0.808
BX_T1 -0.423 0.294 0.085 0.228 0.059 0.092
TimeT3 -0.509 0.495 0.481 0.510 0.486 0.296 0.099
HrbcdHn:TT3 0.579 -0.737 -0.566 -0.555 -0.563 -0.481 -0.095 -0.730
HrbcdAt:TT3 0.514 -0.504 -0.677 -0.504 -0.503 -0.397 -0.090 -0.733 0.626
HrbcdCl:TT3 0.320 -0.335 -0.319 -0.578 -0.325 -0.159 -0.072 -0.709 0.544 0.552
HrbcdRP:TT3 0.521 -0.501 -0.483 -0.497 -0.657 -0.379 -0.172 -0.711 0.605 0.593 0.536 optimizer (nloptwrap) convergence code: 0 (OK) unable to evaluate scaled gradient Hessian is numerically singular: parameters are not uniquely determined

[[6]] Linear mixed model fit by REML. t-tests use Satterthwaite’s method [‘lmerModLmerTest’] Formula: noquote(paste(enzymes[i], ~ Herbicide + Total_Weed_Veg +, enzymes_t1[i],
+ Time + Time*Herbicide + (1|Time), sep = \)) Data: dat

REML criterion at convergence: 256.3

Scaled residuals: Min 1Q Median 3Q Max -1.1829 -0.7346 -0.1762 0.6056 2.0934

Random effects: Groups Name Variance Std.Dev. Time (Intercept) 0.4675 0.6838 Residual 422.3517 20.5512 Number of obs: 38, groups: Time, 2

Fixed effects: Estimate Std. Error df t value Pr(>|t|) (Intercept) 1.046e+01 2.845e+01 7.249e-04 0.368 0.998 HerbicideHand 2.114e+01 2.395e+01 2.600e+01 0.883 0.386 HerbicideAatrex 1.404e+01 2.601e+01 2.600e+01 0.540 0.594 HerbicideClarity 1.052e+01 2.110e+01 2.600e+01 0.499 0.622 HerbicideRoundup Powermax 1.923e+01 2.464e+01 2.600e+01 0.780 0.442 Total_Weed_Veg 2.611e+00 3.321e+00 2.600e+01 0.786 0.439 AG_T1 1.141e-01 3.055e-01 2.600e+01 0.373 0.712 TimeT3 3.994e+00 1.658e+01 2.089e-05 0.241 1.000 HerbicideHand:TimeT3 -1.646e+01 2.442e+01 2.600e+01 -0.674 0.506 HerbicideAatrex:TimeT3 -4.603e+00 2.333e+01 2.600e+01 -0.197 0.845 HerbicideClarity:TimeT3 -8.261e+00 2.170e+01 2.600e+01 -0.381 0.707 HerbicideRoundup Powermax:TimeT3 -2.115e+01 2.419e+01 2.600e+01 -0.874 0.390

Correlation of Fixed Effects: (Intr) HrbcdH HrbcdA HrbcdC HrbcRP Tt_W_V AG_T1 TimeT3 HH:TT3 HA:TT3 HC:TT3 HerbicidHnd -0.894
HerbicdAtrx -0.877 0.807
HerbcdClrty -0.846 0.784 0.783
HrbcdRndpPw -0.862 0.797 0.834 0.777
Total_Wd_Vg -0.891 0.773 0.829 0.715 0.807
AG_T1 -0.324 0.228 0.030 0.159 0.016 0.056
TimeT3 -0.519 0.517 0.497 0.530 0.502 0.305 0.099
HrbcdHn:TT3 0.594 -0.742 -0.563 -0.554 -0.561 -0.479 -0.083 -0.759
HrbcdAt:TT3 0.527 -0.505 -0.674 -0.504 -0.501 -0.395 -0.081 -0.762 0.625
HrbcdCl:TT3 0.328 -0.336 -0.316 -0.581 -0.322 -0.157 -0.072 -0.738 0.543 0.552
HrbcdRP:TT3 0.524 -0.496 -0.475 -0.490 -0.652 -0.374 -0.156 -0.740 0.604 0.592 0.536

[[7]] Linear mixed model fit by REML. t-tests use Satterthwaite’s method [‘lmerModLmerTest’] Formula: noquote(paste(enzymes[i], ~ Herbicide + Total_Weed_Veg +, enzymes_t1[i],
+ Time + Time*Herbicide + (1|Time), sep = \)) Data: dat

REML criterion at convergence: 268.1

Scaled residuals: Min 1Q Median 3Q Max -1.87044 -0.43088 0.00175 0.59139 1.82435

Random effects: Groups Name Variance Std.Dev. Time (Intercept) 30.93 5.561
Residual 1346.77 36.698
Number of obs: 36, groups: Time, 2

Fixed effects: Estimate Std. Error df t value Pr(>|t|)
(Intercept) 102.4138 70.7750 24.0000 1.447 0.16082
HerbicideHand 90.1302 47.1127 24.0000 1.913 0.06774 . HerbicideAatrex 51.4495 51.4829 24.0000 0.999 0.32759
HerbicideClarity 53.4286 42.3648 24.0000 1.261 0.21938
HerbicideRoundup Powermax 90.0871 49.3286 24.0000 1.826 0.08028 . Total_Weed_Veg 14.3874 6.2869 24.0000 2.288 0.03121 * LAP_T1 0.1566 0.1565 24.0000 1.000 0.32709
TimeT3 115.2575 36.8881 24.0000 3.125 0.00461 HerbicideHand:TimeT3 -144.1412 49.5863 24.0000 -2.907 0.00773 HerbicideAatrex:TimeT3 -92.9195 47.3212 24.0000 -1.964 0.06126 . HerbicideClarity:TimeT3 -102.5798 43.5894 24.0000 -2.353 0.02714 * HerbicideRoundup Powermax:TimeT3 -170.3214 48.5035 24.0000 -3.512 0.00179 ** — Signif. codes: 0 ‘’ 0.001 ‘’ 0.01 ‘’ 0.05 ‘.’ 0.1 ‘ ’ 1

Correlation of Fixed Effects: (Intr) HrbcdH HrbcdA HrbcdC HrbcRP Tt_W_V LAP_T1 TimeT3 HH:TT3 HA:TT3 HC:TT3 HerbicidHnd -0.793
HerbicdAtrx -0.692 0.839
HerbcdClrty -0.774 0.827 0.812
HrbcdRndpPw -0.779 0.854 0.855 0.830
Total_Wd_Vg -0.810 0.804 0.818 0.749 0.822
LAP_T1 -0.647 0.171 -0.024 0.181 0.130 0.195
TimeT3 -0.504 0.544 0.513 0.555 0.536 0.354 0.134
HrbcdHn:TT3 0.571 -0.752 -0.589 -0.603 -0.607 -0.517 -0.149 -0.800
HrbcdAt:TT3 0.518 -0.557 -0.674 -0.557 -0.554 -0.442 -0.137 -0.803 0.709
HrbcdCl:TT3 0.358 -0.402 -0.376 -0.598 -0.394 -0.228 -0.099 -0.782 0.640 0.648
HrbcdRP:TT3 0.518 -0.541 -0.513 -0.541 -0.677 -0.427 -0.164 -0.784 0.691 0.682 0.633




<!-- rnb-output-end -->

<!-- rnb-source-begin eyJkYXRhIjoiYGBgclxuYGBgclxub3V0XG5gYGBcbmBgYCJ9 -->

```r
```r
out

<!-- rnb-source-end -->

<!-- rnb-output-begin eyJkYXRhIjoiW1sxXV1cblxuXHQgU2ltdWx0YW5lb3VzIFRlc3RzIGZvciBHZW5lcmFsIExpbmVhciBIeXBvdGhlc2VzXG5cbk11bHRpcGxlIENvbXBhcmlzb25zIG9mIE1lYW5zOiBUdWtleSBDb250cmFzdHNcblxuXG5GaXQ6IGxtZXIoZm9ybXVsYSA9IG5vcXVvdGUocGFzdGUoZW56eW1lc1tpXSwgXFx+IEhlcmJpY2lkZSArIFRvdGFsX1dlZWRfVmVnICtcXCwgXG4gICAgZW56eW1lc190MVtpXSwgXFwrIFRpbWUgKyBUaW1lKkhlcmJpY2lkZSArICgxfFRpbWUpXFwsIHNlcCA9IFxcXFwpKSwgXG4gICAgZGF0YSA9IGRhdClcblxuTGluZWFyIEh5cG90aGVzZXM6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVzdGltYXRlIFN0ZC4gRXJyb3IgeiB2YWx1ZSBQcig+fHp8KSAgXG5IZXJiaWNpZGU6IEhhbmQgLSBOb24tVHJlYXRlZCA9PSAwICAgICAgICAgICAgICAgMjA3Ljg3ICAgICAgNzAuMzAgICAyLjk1NyAgIDAuMDI2NyAqXG5IZXJiaWNpZGU6IEFhdHJleCAtIE5vbi1UcmVhdGVkID09IDAgICAgICAgICAgICAgMTUzLjU0ICAgICAgNzguNDMgICAxLjk1OCAgIDAuMzAxMCAgXG5IZXJiaWNpZGU6IENsYXJpdHkgLSBOb24tVHJlYXRlZCA9PSAwICAgICAgICAgICAgIDY2LjIxICAgICAgNjIuNzIgICAxLjA1NiAgIDAuODYwOCAgXG5IZXJiaWNpZGU6IFJvdW5kdXAgUG93ZXJtYXggLSBOb24tVHJlYXRlZCA9PSAwICAgMTQwLjA3ICAgICAgNzQuMTkgICAxLjg4OCAgIDAuMzM5OCAgXG5IZXJiaWNpZGU6IEFhdHJleCAtIEhhbmQgPT0gMCAgICAgICAgICAgICAgICAgICAgLTU0LjM0ICAgICAgNDUuOTQgIC0xLjE4MyAgIDAuNzk1MCAgXG5IZXJiaWNpZGU6IENsYXJpdHkgLSBIYW5kID09IDAgICAgICAgICAgICAgICAgICAtMTQxLjY3ICAgICAgNDUuMzMgIC0zLjEyNSAgIDAuMDE1OCAqXG5IZXJiaWNpZGU6IFJvdW5kdXAgUG93ZXJtYXggLSBIYW5kID09IDAgICAgICAgICAgLTY3LjgwICAgICAgNDQuNTkgIC0xLjUyMSAgIDAuNTc3NiAgXG5IZXJiaWNpZGU6IENsYXJpdHkgLSBBYXRyZXggPT0gMCAgICAgICAgICAgICAgICAgLTg3LjMzICAgICAgNDguMTkgIC0xLjgxMiAgIDAuMzg1MCAgXG5IZXJiaWNpZGU6IFJvdW5kdXAgUG93ZXJtYXggLSBBYXRyZXggPT0gMCAgICAgICAgLTEzLjQ2ICAgICAgNDQuMTAgIC0wLjMwNSAgIDAuOTk5NCAgXG5IZXJiaWNpZGU6IFJvdW5kdXAgUG93ZXJtYXggLSBDbGFyaXR5ID09IDAgICAgICAgIDczLjg2ICAgICAgNDYuMjIgICAxLjU5OCAgIDAuNTI0NyAgXG5UaW1lOiBUMyAtIFQyID09IDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDk2LjU2ICAgICAgNTAuNTQgICAxLjkxMSAgIDAuMzI3MCAgXG4tLS1cblNpZ25pZi4gY29kZXM6ICAwIOKAmCoqKuKAmSAwLjAwMSDigJgqKuKAmSAwLjAxIOKAmCrigJkgMC4wNSDigJgu4oCZIDAuMSDigJgg4oCZIDFcbihBZGp1c3RlZCBwIHZhbHVlcyByZXBvcnRlZCAtLSBzaW5nbGUtc3RlcCBtZXRob2QpXG5cblxuW1syXV1cblxuXHQgU2ltdWx0YW5lb3VzIFRlc3RzIGZvciBHZW5lcmFsIExpbmVhciBIeXBvdGhlc2VzXG5cbk11bHRpcGxlIENvbXBhcmlzb25zIG9mIE1lYW5zOiBUdWtleSBDb250cmFzdHNcblxuXG5GaXQ6IGxtZXIoZm9ybXVsYSA9IG5vcXVvdGUocGFzdGUoZW56eW1lc1tpXSwgXFx+IEhlcmJpY2lkZSArIFRvdGFsX1dlZWRfVmVnICtcXCwgXG4gICAgZW56eW1lc190MVtpXSwgXFwrIFRpbWUgKyBUaW1lKkhlcmJpY2lkZSArICgxfFRpbWUpXFwsIHNlcCA9IFxcXFwpKSwgXG4gICAgZGF0YSA9IGRhdClcblxuTGluZWFyIEh5cG90aGVzZXM6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVzdGltYXRlIFN0ZC4gRXJyb3IgeiB2YWx1ZSBQcig+fHp8KVxuSGVyYmljaWRlOiBIYW5kIC0gTm9uLVRyZWF0ZWQgPT0gMCAgICAgICAgICAgICAgIDIzLjg1MCAgICAgMTUuMzI2ICAgMS41NTYgICAgMC41NTRcbkhlcmJpY2lkZTogQWF0cmV4IC0gTm9uLVRyZWF0ZWQgPT0gMCAgICAgICAgICAgICAxNi43NTEgICAgIDE2LjYwNSAgIDEuMDA5ICAgIDAuODgyXG5IZXJiaWNpZGU6IENsYXJpdHkgLSBOb24tVHJlYXRlZCA9PSAwICAgICAgICAgICAgMTUuMDAyICAgICAxMy40OTggICAxLjExMSAgICAwLjgzNFxuSGVyYmljaWRlOiBSb3VuZHVwIFBvd2VybWF4IC0gTm9uLVRyZWF0ZWQgPT0gMCAgIDI0LjA1NyAgICAgMTUuNTU1ICAgMS41NDcgICAgMC41NjBcbkhlcmJpY2lkZTogQWF0cmV4IC0gSGFuZCA9PSAwICAgICAgICAgICAgICAgICAgICAtNy4wOTkgICAgICA5LjQ4NCAgLTAuNzQ5ICAgIDAuOTY0XG5IZXJiaWNpZGU6IENsYXJpdHkgLSBIYW5kID09IDAgICAgICAgICAgICAgICAgICAgLTguODQ4ICAgICAgOS40NDAgIC0wLjkzNyAgICAwLjkxMFxuSGVyYmljaWRlOiBSb3VuZHVwIFBvd2VybWF4IC0gSGFuZCA9PSAwICAgICAgICAgICAwLjIwNyAgICAgIDkuNjU0ICAgMC4wMjEgICAgMS4wMDBcbkhlcmJpY2lkZTogQ2xhcml0eSAtIEFhdHJleCA9PSAwICAgICAgICAgICAgICAgICAtMS43NDkgICAgIDEwLjA0MCAgLTAuMTc0ICAgIDEuMDAwXG5IZXJiaWNpZGU6IFJvdW5kdXAgUG93ZXJtYXggLSBBYXRyZXggPT0gMCAgICAgICAgIDcuMzA2ICAgICAgOS4zMDUgICAwLjc4NSAgICAwLjk1NlxuSGVyYmljaWRlOiBSb3VuZHVwIFBvd2VybWF4IC0gQ2xhcml0eSA9PSAwICAgICAgICA5LjA1NSAgICAgIDkuODExICAgMC45MjMgICAgMC45MTZcblRpbWU6IFQzIC0gVDIgPT0gMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOS45MjEgICAgIDEwLjk4MSAgIDAuOTAzICAgIDAuOTIyXG4oQWRqdXN0ZWQgcCB2YWx1ZXMgcmVwb3J0ZWQgLS0gc2luZ2xlLXN0ZXAgbWV0aG9kKVxuXG5cbltbM11dXG5cblx0IFNpbXVsdGFuZW91cyBUZXN0cyBmb3IgR2VuZXJhbCBMaW5lYXIgSHlwb3RoZXNlc1xuXG5NdWx0aXBsZSBDb21wYXJpc29ucyBvZiBNZWFuczogVHVrZXkgQ29udHJhc3RzXG5cblxuRml0OiBsbWVyKGZvcm11bGEgPSBub3F1b3RlKHBhc3RlKGVuenltZXNbaV0sIFxcfiBIZXJiaWNpZGUgKyBUb3RhbF9XZWVkX1ZlZyArXFwsIFxuICAgIGVuenltZXNfdDFbaV0sIFxcKyBUaW1lICsgVGltZSpIZXJiaWNpZGUgKyAoMXxUaW1lKVxcLCBzZXAgPSBcXFxcKSksIFxuICAgIGRhdGEgPSBkYXQpXG5cbkxpbmVhciBIeXBvdGhlc2VzOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFc3RpbWF0ZSBTdGQuIEVycm9yIHogdmFsdWUgUHIoPnx6fCkgIFxuSGVyYmljaWRlOiBIYW5kIC0gTm9uLVRyZWF0ZWQgPT0gMCAgICAgICAgICAgICAgICA4Mi41OCAgICAgIDI3LjY0ICAgMi45ODggICAwLjAyNDMgKlxuSGVyYmljaWRlOiBBYXRyZXggLSBOb24tVHJlYXRlZCA9PSAwICAgICAgICAgICAgICAyNi44OCAgICAgIDI5LjU0ICAgMC45MTAgICAwLjkyMDYgIFxuSGVyYmljaWRlOiBDbGFyaXR5IC0gTm9uLVRyZWF0ZWQgPT0gMCAgICAgICAgICAgICA0Ni4xOSAgICAgIDI0LjM3ICAgMS44OTUgICAwLjMzNzEgIFxuSGVyYmljaWRlOiBSb3VuZHVwIFBvd2VybWF4IC0gTm9uLVRyZWF0ZWQgPT0gMCAgICA1Ny43NiAgICAgIDI4LjIwICAgMi4wNDggICAwLjI1NTYgIFxuSGVyYmljaWRlOiBBYXRyZXggLSBIYW5kID09IDAgICAgICAgICAgICAgICAgICAgIC01NS43MCAgICAgIDE4LjM5ICAtMy4wMjkgICAwLjAyMTYgKlxuSGVyYmljaWRlOiBDbGFyaXR5IC0gSGFuZCA9PSAwICAgICAgICAgICAgICAgICAgIC0zNi4zOSAgICAgIDE3LjA2ICAtMi4xMzQgICAwLjIxNjAgIFxuSGVyYmljaWRlOiBSb3VuZHVwIFBvd2VybWF4IC0gSGFuZCA9PSAwICAgICAgICAgIC0yNC44MiAgICAgIDE3LjIwICAtMS40NDMgICAwLjYzMjEgIFxuSGVyYmljaWRlOiBDbGFyaXR5IC0gQWF0cmV4ID09IDAgICAgICAgICAgICAgICAgICAxOS4zMSAgICAgIDE4Ljg2ICAgMS4wMjQgICAwLjg3NjEgIFxuSGVyYmljaWRlOiBSb3VuZHVwIFBvd2VybWF4IC0gQWF0cmV4ID09IDAgICAgICAgICAzMC44OCAgICAgIDE2Ljg0ICAgMS44MzQgICAwLjM3MzIgIFxuSGVyYmljaWRlOiBSb3VuZHVwIFBvd2VybWF4IC0gQ2xhcml0eSA9PSAwICAgICAgICAxMS41NyAgICAgIDE3LjYxICAgMC42NTcgICAwLjk3OTUgIFxuVGltZTogVDMgLSBUMiA9PSAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAzOS41MSAgICAgIDE5LjI2ICAgMi4wNTIgICAwLjI1MzggIFxuLS0tXG5TaWduaWYuIGNvZGVzOiAgMCDigJgqKirigJkgMC4wMDEg4oCYKirigJkgMC4wMSDigJgq4oCZIDAuMDUg4oCYLuKAmSAwLjEg4oCYIOKAmSAxXG4oQWRqdXN0ZWQgcCB2YWx1ZXMgcmVwb3J0ZWQgLS0gc2luZ2xlLXN0ZXAgbWV0aG9kKVxuXG5cbltbNF1dXG5cblx0IFNpbXVsdGFuZW91cyBUZXN0cyBmb3IgR2VuZXJhbCBMaW5lYXIgSHlwb3RoZXNlc1xuXG5NdWx0aXBsZSBDb21wYXJpc29ucyBvZiBNZWFuczogVHVrZXkgQ29udHJhc3RzXG5cblxuRml0OiBsbWVyKGZvcm11bGEgPSBub3F1b3RlKHBhc3RlKGVuenltZXNbaV0sIFxcfiBIZXJiaWNpZGUgKyBUb3RhbF9XZWVkX1ZlZyArXFwsIFxuICAgIGVuenltZXNfdDFbaV0sIFxcKyBUaW1lICsgVGltZSpIZXJiaWNpZGUgKyAoMXxUaW1lKVxcLCBzZXAgPSBcXFxcKSksIFxuICAgIGRhdGEgPSBkYXQpXG5cbkxpbmVhciBIeXBvdGhlc2VzOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFc3RpbWF0ZSBTdGQuIEVycm9yIHogdmFsdWUgUHIoPnx6fClcbkhlcmJpY2lkZTogSGFuZCAtIE5vbi1UcmVhdGVkID09IDAgICAgICAgICAgICAgICAxMy43NDAgICAgIDExLjYyMSAgIDEuMTgyICAgIDAuNzk1XG5IZXJiaWNpZGU6IEFhdHJleCAtIE5vbi1UcmVhdGVkID09IDAgICAgICAgICAgICAgIDcuMzYwICAgICAxMi43MjMgICAwLjU3OCAgICAwLjk4OFxuSGVyYmljaWRlOiBDbGFyaXR5IC0gTm9uLVRyZWF0ZWQgPT0gMCAgICAgICAgICAgICA0LjkyNiAgICAgMTAuMzEyICAgMC40NzggICAgMC45OTVcbkhlcmJpY2lkZTogUm91bmR1cCBQb3dlcm1heCAtIE5vbi1UcmVhdGVkID09IDAgICAgOS4xMTQgICAgIDExLjk5OCAgIDAuNzYwICAgIDAuOTYxXG5IZXJiaWNpZGU6IEFhdHJleCAtIEhhbmQgPT0gMCAgICAgICAgICAgICAgICAgICAgLTYuMzgxICAgICAgNy4zMDggIC0wLjg3MyAgICAwLjkzMlxuSGVyYmljaWRlOiBDbGFyaXR5IC0gSGFuZCA9PSAwICAgICAgICAgICAgICAgICAgIC04LjgxNCAgICAgIDcuMjYyICAtMS4yMTQgICAgMC43NzdcbkhlcmJpY2lkZTogUm91bmR1cCBQb3dlcm1heCAtIEhhbmQgPT0gMCAgICAgICAgICAtNC42MjYgICAgICA3LjMwMCAgLTAuNjM0ICAgIDAuOTgyXG5IZXJiaWNpZGU6IENsYXJpdHkgLSBBYXRyZXggPT0gMCAgICAgICAgICAgICAgICAgLTIuNDMzICAgICAgNy43NjcgIC0wLjMxMyAgICAwLjk5OVxuSGVyYmljaWRlOiBSb3VuZHVwIFBvd2VybWF4IC0gQWF0cmV4ID09IDAgICAgICAgICAxLjc1NSAgICAgIDcuMTM0ICAgMC4yNDYgICAgMS4wMDBcbkhlcmJpY2lkZTogUm91bmR1cCBQb3dlcm1heCAtIENsYXJpdHkgPT0gMCAgICAgICAgNC4xODggICAgICA3LjUzNyAgIDAuNTU2ICAgIDAuOTkwXG5UaW1lOiBUMyAtIFQyID09IDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDMuMzQwICAgICAgOC4wNzQgICAwLjQxNCAgICAwLjk5OFxuKEFkanVzdGVkIHAgdmFsdWVzIHJlcG9ydGVkIC0tIHNpbmdsZS1zdGVwIG1ldGhvZClcblxuXG5bWzVdXVxuXG5cdCBTaW11bHRhbmVvdXMgVGVzdHMgZm9yIEdlbmVyYWwgTGluZWFyIEh5cG90aGVzZXNcblxuTXVsdGlwbGUgQ29tcGFyaXNvbnMgb2YgTWVhbnM6IFR1a2V5IENvbnRyYXN0c1xuXG5cbkZpdDogbG1lcihmb3JtdWxhID0gbm9xdW90ZShwYXN0ZShlbnp5bWVzW2ldLCBcXH4gSGVyYmljaWRlICsgVG90YWxfV2VlZF9WZWcgK1xcLCBcbiAgICBlbnp5bWVzX3QxW2ldLCBcXCsgVGltZSArIFRpbWUqSGVyYmljaWRlICsgKDF8VGltZSlcXCwgc2VwID0gXFxcXCkpLCBcbiAgICBkYXRhID0gZGF0KVxuXG5MaW5lYXIgSHlwb3RoZXNlczpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRXN0aW1hdGUgU3RkLiBFcnJvciB6IHZhbHVlIFByKD58enwpXG5IZXJiaWNpZGU6IEhhbmQgLSBOb24tVHJlYXRlZCA9PSAwICAgICAgICAgICAgICAgNDEuNDM1ICAgICAyNy40MzYgICAxLjUxMCAgICAwLjU4NlxuSGVyYmljaWRlOiBBYXRyZXggLSBOb24tVHJlYXRlZCA9PSAwICAgICAgICAgICAgIDM2LjQ4NSAgICAgMjkuMzM1ICAgMS4yNDQgICAgMC43NjFcbkhlcmJpY2lkZTogQ2xhcml0eSAtIE5vbi1UcmVhdGVkID09IDAgICAgICAgICAgICAyNi4xNzMgICAgIDI0LjA1MyAgIDEuMDg4ICAgIDAuODQ2XG5IZXJiaWNpZGU6IFJvdW5kdXAgUG93ZXJtYXggLSBOb24tVHJlYXRlZCA9PSAwICAgMjguNDIxICAgICAyNy43NTEgICAxLjAyNCAgICAwLjg3NlxuSGVyYmljaWRlOiBBYXRyZXggLSBIYW5kID09IDAgICAgICAgICAgICAgICAgICAgIC00Ljk1MCAgICAgMTcuNjY3ICAtMC4yODAgICAgMS4wMDBcbkhlcmJpY2lkZTogQ2xhcml0eSAtIEhhbmQgPT0gMCAgICAgICAgICAgICAgICAgIC0xNS4yNjIgICAgIDE2Ljk2MCAgLTAuOTAwICAgIDAuOTI0XG5IZXJiaWNpZGU6IFJvdW5kdXAgUG93ZXJtYXggLSBIYW5kID09IDAgICAgICAgICAtMTMuMDE1ICAgICAxNy42NjYgIC0wLjczNyAgICAwLjk2NlxuSGVyYmljaWRlOiBDbGFyaXR5IC0gQWF0cmV4ID09IDAgICAgICAgICAgICAgICAgLTEwLjMxMiAgICAgMTguMjA5ICAtMC41NjYgICAgMC45ODlcbkhlcmJpY2lkZTogUm91bmR1cCBQb3dlcm1heCAtIEFhdHJleCA9PSAwICAgICAgICAtOC4wNjUgICAgIDE2LjQ2OSAgLTAuNDkwICAgIDAuOTk1XG5IZXJiaWNpZGU6IFJvdW5kdXAgUG93ZXJtYXggLSBDbGFyaXR5ID09IDAgICAgICAgIDIuMjQ4ICAgICAxNy42OTYgICAwLjEyNyAgICAxLjAwMFxuVGltZTogVDMgLSBUMiA9PSAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwLjM3OSAgICAgMTkuNDAzICAgMC41MzUgICAgMC45OTJcbihBZGp1c3RlZCBwIHZhbHVlcyByZXBvcnRlZCAtLSBzaW5nbGUtc3RlcCBtZXRob2QpXG5cblxuW1s2XV1cblxuXHQgU2ltdWx0YW5lb3VzIFRlc3RzIGZvciBHZW5lcmFsIExpbmVhciBIeXBvdGhlc2VzXG5cbk11bHRpcGxlIENvbXBhcmlzb25zIG9mIE1lYW5zOiBUdWtleSBDb250cmFzdHNcblxuXG5GaXQ6IGxtZXIoZm9ybXVsYSA9IG5vcXVvdGUocGFzdGUoZW56eW1lc1tpXSwgXFx+IEhlcmJpY2lkZSArIFRvdGFsX1dlZWRfVmVnICtcXCwgXG4gICAgZW56eW1lc190MVtpXSwgXFwrIFRpbWUgKyBUaW1lKkhlcmJpY2lkZSArICgxfFRpbWUpXFwsIHNlcCA9IFxcXFwpKSwgXG4gICAgZGF0YSA9IGRhdClcblxuTGluZWFyIEh5cG90aGVzZXM6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVzdGltYXRlIFN0ZC4gRXJyb3IgeiB2YWx1ZSBQcig+fHp8KVxuSGVyYmljaWRlOiBIYW5kIC0gTm9uLVRyZWF0ZWQgPT0gMCAgICAgICAgICAgICAgIDIxLjEzNyAgICAgMjMuOTQ3ICAgMC44ODMgICAgMC45MjlcbkhlcmJpY2lkZTogQWF0cmV4IC0gTm9uLVRyZWF0ZWQgPT0gMCAgICAgICAgICAgICAxNC4wMzYgICAgIDI2LjAwNSAgIDAuNTQwICAgIDAuOTkxXG5IZXJiaWNpZGU6IENsYXJpdHkgLSBOb24tVHJlYXRlZCA9PSAwICAgICAgICAgICAgMTAuNTI1ICAgICAyMS4wOTUgICAwLjQ5OSAgICAwLjk5NFxuSGVyYmljaWRlOiBSb3VuZHVwIFBvd2VybWF4IC0gTm9uLVRyZWF0ZWQgPT0gMCAgIDE5LjIyOCAgICAgMjQuNjQwICAgMC43ODAgICAgMC45NTdcbkhlcmJpY2lkZTogQWF0cmV4IC0gSGFuZCA9PSAwICAgICAgICAgICAgICAgICAgICAtNy4xMDEgICAgIDE1LjYyMSAgLTAuNDU1ICAgIDAuOTk2XG5IZXJiaWNpZGU6IENsYXJpdHkgLSBIYW5kID09IDAgICAgICAgICAgICAgICAgICAtMTAuNjEyICAgICAxNS4wNTMgIC0wLjcwNSAgICAwLjk3MlxuSGVyYmljaWRlOiBSb3VuZHVwIFBvd2VybWF4IC0gSGFuZCA9PSAwICAgICAgICAgIC0xLjkwOSAgICAgMTUuNDc3ICAtMC4xMjMgICAgMS4wMDBcbkhlcmJpY2lkZTogQ2xhcml0eSAtIEFhdHJleCA9PSAwICAgICAgICAgICAgICAgICAtMy41MTEgICAgIDE2LjE3OSAgLTAuMjE3ICAgIDEuMDAwXG5IZXJiaWNpZGU6IFJvdW5kdXAgUG93ZXJtYXggLSBBYXRyZXggPT0gMCAgICAgICAgIDUuMTkyICAgICAxNC42MzEgICAwLjM1NSAgICAwLjk5OVxuSGVyYmljaWRlOiBSb3VuZHVwIFBvd2VybWF4IC0gQ2xhcml0eSA9PSAwICAgICAgICA4LjcwMyAgICAgMTUuNjQyICAgMC41NTYgICAgMC45OTBcblRpbWU6IFQzIC0gVDIgPT0gMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMy45OTQgICAgIDE2LjU3NiAgIDAuMjQxICAgIDEuMDAwXG4oQWRqdXN0ZWQgcCB2YWx1ZXMgcmVwb3J0ZWQgLS0gc2luZ2xlLXN0ZXAgbWV0aG9kKVxuXG5cbltbN11dXG5cblx0IFNpbXVsdGFuZW91cyBUZXN0cyBmb3IgR2VuZXJhbCBMaW5lYXIgSHlwb3RoZXNlc1xuXG5NdWx0aXBsZSBDb21wYXJpc29ucyBvZiBNZWFuczogVHVrZXkgQ29udHJhc3RzXG5cblxuRml0OiBsbWVyKGZvcm11bGEgPSBub3F1b3RlKHBhc3RlKGVuenltZXNbaV0sIFxcfiBIZXJiaWNpZGUgKyBUb3RhbF9XZWVkX1ZlZyArXFwsIFxuICAgIGVuenltZXNfdDFbaV0sIFxcKyBUaW1lICsgVGltZSpIZXJiaWNpZGUgKyAoMXxUaW1lKVxcLCBzZXAgPSBcXFxcKSksIFxuICAgIGRhdGEgPSBkYXQpXG5cbkxpbmVhciBIeXBvdGhlc2VzOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRXN0aW1hdGUgU3RkLiBFcnJvciB6IHZhbHVlIFByKD58enwpICBcbkhlcmJpY2lkZTogSGFuZCAtIE5vbi1UcmVhdGVkID09IDAgICAgICAgICAgICAgIDkwLjEzMDE4ICAgNDcuMTEyNzQgICAxLjkxMyAgIDAuMzIyMSAgXG5IZXJiaWNpZGU6IEFhdHJleCAtIE5vbi1UcmVhdGVkID09IDAgICAgICAgICAgICA1MS40NDk0NyAgIDUxLjQ4Mjg3ICAgMC45OTkgICAwLjg4MzUgIFxuSGVyYmljaWRlOiBDbGFyaXR5IC0gTm9uLVRyZWF0ZWQgPT0gMCAgICAgICAgICAgNTMuNDI4NTUgICA0Mi4zNjQ4MSAgIDEuMjYxICAgMC43NDUyICBcbkhlcmJpY2lkZTogUm91bmR1cCBQb3dlcm1heCAtIE5vbi1UcmVhdGVkID09IDAgIDkwLjA4NzE0ICAgNDkuMzI4NjQgICAxLjgyNiAgIDAuMzcyOCAgXG5IZXJiaWNpZGU6IEFhdHJleCAtIEhhbmQgPT0gMCAgICAgICAgICAgICAgICAgIC0zOC42ODA3MSAgIDI4LjI1NDM1ICAtMS4zNjkgICAwLjY3NjEgIFxuSGVyYmljaWRlOiBDbGFyaXR5IC0gSGFuZCA9PSAwICAgICAgICAgICAgICAgICAtMzYuNzAxNjIgICAyNi42NzU1MiAgLTEuMzc2ICAgMC42NzE1ICBcbkhlcmJpY2lkZTogUm91bmR1cCBQb3dlcm1heCAtIEhhbmQgPT0gMCAgICAgICAgIC0wLjA0MzA0ICAgMjYuMTg0NTQgIC0wLjAwMiAgIDEuMDAwMCAgXG5IZXJiaWNpZGU6IENsYXJpdHkgLSBBYXRyZXggPT0gMCAgICAgICAgICAgICAgICAgMS45NzkwOCAgIDMwLjA3OTg2ICAgMC4wNjYgICAxLjAwMDAgIFxuSGVyYmljaWRlOiBSb3VuZHVwIFBvd2VybWF4IC0gQWF0cmV4ID09IDAgICAgICAgMzguNjM3NjcgICAyNy4yMzM1OCAgIDEuNDE5ICAgMC42NDI4ICBcbkhlcmJpY2lkZTogUm91bmR1cCBQb3dlcm1heCAtIENsYXJpdHkgPT0gMCAgICAgIDM2LjY1ODU4ICAgMjcuNTc2NzYgICAxLjMyOSAgIDAuNzAyMCAgXG5UaW1lOiBUMyAtIFQyID09IDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDExNS4yNTc0OCAgIDM2Ljg4ODEyICAgMy4xMjUgICAwLjAxNTUgKlxuLS0tXG5TaWduaWYuIGNvZGVzOiAgMCDigJgqKirigJkgMC4wMDEg4oCYKirigJkgMC4wMSDigJgq4oCZIDAuMDUg4oCYLuKAmSAwLjEg4oCYIOKAmSAxXG4oQWRqdXN0ZWQgcCB2YWx1ZXMgcmVwb3J0ZWQgLS0gc2luZ2xlLXN0ZXAgbWV0aG9kKVxuIn0= -->

[[1]]

 Simultaneous Tests for General Linear Hypotheses

Multiple Comparisons of Means: Tukey Contrasts

Fit: lmer(formula = noquote(paste(enzymes[i], ~ Herbicide + Total_Weed_Veg +, enzymes_t1[i], + Time + Time*Herbicide + (1|Time), sep = \)), data = dat)

Linear Hypotheses: Estimate Std. Error z value Pr(>|z|)
Herbicide: Hand - Non-Treated == 0 207.87 70.30 2.957 0.0267 Herbicide: Aatrex - Non-Treated == 0 153.54 78.43 1.958 0.3010
Herbicide: Clarity - Non-Treated == 0 66.21 62.72 1.056 0.8608
Herbicide: Roundup Powermax - Non-Treated == 0 140.07 74.19 1.888 0.3398
Herbicide: Aatrex - Hand == 0 -54.34 45.94 -1.183 0.7950
Herbicide: Clarity - Hand == 0 -141.67 45.33 -3.125 0.0158
Herbicide: Roundup Powermax - Hand == 0 -67.80 44.59 -1.521 0.5776
Herbicide: Clarity - Aatrex == 0 -87.33 48.19 -1.812 0.3850
Herbicide: Roundup Powermax - Aatrex == 0 -13.46 44.10 -0.305 0.9994
Herbicide: Roundup Powermax - Clarity == 0 73.86 46.22 1.598 0.5247
Time: T3 - T2 == 0 96.56 50.54 1.911 0.3270
— Signif. codes: 0 ‘’ 0.001 ‘’ 0.01 ‘’ 0.05 ‘.’ 0.1 ‘ ’ 1 (Adjusted p values reported – single-step method)

[[2]]

 Simultaneous Tests for General Linear Hypotheses

Multiple Comparisons of Means: Tukey Contrasts

Fit: lmer(formula = noquote(paste(enzymes[i], ~ Herbicide + Total_Weed_Veg +, enzymes_t1[i], + Time + Time*Herbicide + (1|Time), sep = \)), data = dat)

Linear Hypotheses: Estimate Std. Error z value Pr(>|z|) Herbicide: Hand - Non-Treated == 0 23.850 15.326 1.556 0.554 Herbicide: Aatrex - Non-Treated == 0 16.751 16.605 1.009 0.882 Herbicide: Clarity - Non-Treated == 0 15.002 13.498 1.111 0.834 Herbicide: Roundup Powermax - Non-Treated == 0 24.057 15.555 1.547 0.560 Herbicide: Aatrex - Hand == 0 -7.099 9.484 -0.749 0.964 Herbicide: Clarity - Hand == 0 -8.848 9.440 -0.937 0.910 Herbicide: Roundup Powermax - Hand == 0 0.207 9.654 0.021 1.000 Herbicide: Clarity - Aatrex == 0 -1.749 10.040 -0.174 1.000 Herbicide: Roundup Powermax - Aatrex == 0 7.306 9.305 0.785 0.956 Herbicide: Roundup Powermax - Clarity == 0 9.055 9.811 0.923 0.916 Time: T3 - T2 == 0 9.921 10.981 0.903 0.922 (Adjusted p values reported – single-step method)

[[3]]

 Simultaneous Tests for General Linear Hypotheses

Multiple Comparisons of Means: Tukey Contrasts

Fit: lmer(formula = noquote(paste(enzymes[i], ~ Herbicide + Total_Weed_Veg +, enzymes_t1[i], + Time + Time*Herbicide + (1|Time), sep = \)), data = dat)

Linear Hypotheses: Estimate Std. Error z value Pr(>|z|)
Herbicide: Hand - Non-Treated == 0 82.58 27.64 2.988 0.0243 Herbicide: Aatrex - Non-Treated == 0 26.88 29.54 0.910 0.9206
Herbicide: Clarity - Non-Treated == 0 46.19 24.37 1.895 0.3371
Herbicide: Roundup Powermax - Non-Treated == 0 57.76 28.20 2.048 0.2556
Herbicide: Aatrex - Hand == 0 -55.70 18.39 -3.029 0.0216
Herbicide: Clarity - Hand == 0 -36.39 17.06 -2.134 0.2160
Herbicide: Roundup Powermax - Hand == 0 -24.82 17.20 -1.443 0.6321
Herbicide: Clarity - Aatrex == 0 19.31 18.86 1.024 0.8761
Herbicide: Roundup Powermax - Aatrex == 0 30.88 16.84 1.834 0.3732
Herbicide: Roundup Powermax - Clarity == 0 11.57 17.61 0.657 0.9795
Time: T3 - T2 == 0 39.51 19.26 2.052 0.2538
— Signif. codes: 0 ‘’ 0.001 ‘’ 0.01 ‘’ 0.05 ‘.’ 0.1 ‘ ’ 1 (Adjusted p values reported – single-step method)

[[4]]

 Simultaneous Tests for General Linear Hypotheses

Multiple Comparisons of Means: Tukey Contrasts

Fit: lmer(formula = noquote(paste(enzymes[i], ~ Herbicide + Total_Weed_Veg +, enzymes_t1[i], + Time + Time*Herbicide + (1|Time), sep = \)), data = dat)

Linear Hypotheses: Estimate Std. Error z value Pr(>|z|) Herbicide: Hand - Non-Treated == 0 13.740 11.621 1.182 0.795 Herbicide: Aatrex - Non-Treated == 0 7.360 12.723 0.578 0.988 Herbicide: Clarity - Non-Treated == 0 4.926 10.312 0.478 0.995 Herbicide: Roundup Powermax - Non-Treated == 0 9.114 11.998 0.760 0.961 Herbicide: Aatrex - Hand == 0 -6.381 7.308 -0.873 0.932 Herbicide: Clarity - Hand == 0 -8.814 7.262 -1.214 0.777 Herbicide: Roundup Powermax - Hand == 0 -4.626 7.300 -0.634 0.982 Herbicide: Clarity - Aatrex == 0 -2.433 7.767 -0.313 0.999 Herbicide: Roundup Powermax - Aatrex == 0 1.755 7.134 0.246 1.000 Herbicide: Roundup Powermax - Clarity == 0 4.188 7.537 0.556 0.990 Time: T3 - T2 == 0 3.340 8.074 0.414 0.998 (Adjusted p values reported – single-step method)

[[5]]

 Simultaneous Tests for General Linear Hypotheses

Multiple Comparisons of Means: Tukey Contrasts

Fit: lmer(formula = noquote(paste(enzymes[i], ~ Herbicide + Total_Weed_Veg +, enzymes_t1[i], + Time + Time*Herbicide + (1|Time), sep = \)), data = dat)

Linear Hypotheses: Estimate Std. Error z value Pr(>|z|) Herbicide: Hand - Non-Treated == 0 41.435 27.436 1.510 0.586 Herbicide: Aatrex - Non-Treated == 0 36.485 29.335 1.244 0.761 Herbicide: Clarity - Non-Treated == 0 26.173 24.053 1.088 0.846 Herbicide: Roundup Powermax - Non-Treated == 0 28.421 27.751 1.024 0.876 Herbicide: Aatrex - Hand == 0 -4.950 17.667 -0.280 1.000 Herbicide: Clarity - Hand == 0 -15.262 16.960 -0.900 0.924 Herbicide: Roundup Powermax - Hand == 0 -13.015 17.666 -0.737 0.966 Herbicide: Clarity - Aatrex == 0 -10.312 18.209 -0.566 0.989 Herbicide: Roundup Powermax - Aatrex == 0 -8.065 16.469 -0.490 0.995 Herbicide: Roundup Powermax - Clarity == 0 2.248 17.696 0.127 1.000 Time: T3 - T2 == 0 10.379 19.403 0.535 0.992 (Adjusted p values reported – single-step method)

[[6]]

 Simultaneous Tests for General Linear Hypotheses

Multiple Comparisons of Means: Tukey Contrasts

Fit: lmer(formula = noquote(paste(enzymes[i], ~ Herbicide + Total_Weed_Veg +, enzymes_t1[i], + Time + Time*Herbicide + (1|Time), sep = \)), data = dat)

Linear Hypotheses: Estimate Std. Error z value Pr(>|z|) Herbicide: Hand - Non-Treated == 0 21.137 23.947 0.883 0.929 Herbicide: Aatrex - Non-Treated == 0 14.036 26.005 0.540 0.991 Herbicide: Clarity - Non-Treated == 0 10.525 21.095 0.499 0.994 Herbicide: Roundup Powermax - Non-Treated == 0 19.228 24.640 0.780 0.957 Herbicide: Aatrex - Hand == 0 -7.101 15.621 -0.455 0.996 Herbicide: Clarity - Hand == 0 -10.612 15.053 -0.705 0.972 Herbicide: Roundup Powermax - Hand == 0 -1.909 15.477 -0.123 1.000 Herbicide: Clarity - Aatrex == 0 -3.511 16.179 -0.217 1.000 Herbicide: Roundup Powermax - Aatrex == 0 5.192 14.631 0.355 0.999 Herbicide: Roundup Powermax - Clarity == 0 8.703 15.642 0.556 0.990 Time: T3 - T2 == 0 3.994 16.576 0.241 1.000 (Adjusted p values reported – single-step method)

[[7]]

 Simultaneous Tests for General Linear Hypotheses

Multiple Comparisons of Means: Tukey Contrasts

Fit: lmer(formula = noquote(paste(enzymes[i], ~ Herbicide + Total_Weed_Veg +, enzymes_t1[i], + Time + Time*Herbicide + (1|Time), sep = \)), data = dat)

Linear Hypotheses: Estimate Std. Error z value Pr(>|z|)
Herbicide: Hand - Non-Treated == 0 90.13018 47.11274 1.913 0.3221
Herbicide: Aatrex - Non-Treated == 0 51.44947 51.48287 0.999 0.8835
Herbicide: Clarity - Non-Treated == 0 53.42855 42.36481 1.261 0.7452
Herbicide: Roundup Powermax - Non-Treated == 0 90.08714 49.32864 1.826 0.3728
Herbicide: Aatrex - Hand == 0 -38.68071 28.25435 -1.369 0.6761
Herbicide: Clarity - Hand == 0 -36.70162 26.67552 -1.376 0.6715
Herbicide: Roundup Powermax - Hand == 0 -0.04304 26.18454 -0.002 1.0000
Herbicide: Clarity - Aatrex == 0 1.97908 30.07986 0.066 1.0000
Herbicide: Roundup Powermax - Aatrex == 0 38.63767 27.23358 1.419 0.6428
Herbicide: Roundup Powermax - Clarity == 0 36.65858 27.57676 1.329 0.7020
Time: T3 - T2 == 0 115.25748 36.88812 3.125 0.0155 * — Signif. codes: 0 ‘’ 0.001 ‘’ 0.01 ‘’ 0.05 ‘.’ 0.1 ‘ ’ 1 (Adjusted p values reported – single-step method)




<!-- rnb-output-end -->

<!-- rnb-source-begin eyJkYXRhIjoiYGBgclxuYGBgclxucC52YWxzXG5gYGBcbmBgYCJ9 -->

```r
```r
p.vals

<!-- rnb-source-end -->

<!-- rnb-output-begin eyJkYXRhIjoiW1sxXV1cblR5cGUgSUlJIEFuYWx5c2lzIG9mIFZhcmlhbmNlIFRhYmxlIHdpdGggU2F0dGVydGh3YWl0ZSdzIG1ldGhvZFxuICAgICAgICAgICAgICAgU3VtIFNxIE1lYW4gU3EgTnVtREYgRGVuREYgRiB2YWx1ZSAgUHIoPkYpICBcbkhlcmJpY2lkZSAgICAgICAyNTM4NSAgNjM0Ni40ICAgICA0ICAgIDI2ICAxLjY1OTMgMC4xODk2NCAgXG5Ub3RhbF9XZWVkX1ZlZyAgMTkwMDAgMTkwMDAuMyAgICAgMSAgICAyNiAgNC45Njc3IDAuMDM0NjggKlxuQkdfVDEgICAgICAgICAgICA5NjA5ICA5NjA5LjMgICAgIDEgICAgMjYgIDIuNTEyNCAwLjEyNTA0ICBcblRpbWUgICAgICAgICAgICAgNDAwMiAgNDAwMS43ICAgICAxICAgIDI2ICAxLjA0NjIgMC4zMTU4MCAgXG5IZXJiaWNpZGU6VGltZSAgNDA0OTEgMTAxMjIuNyAgICAgNCAgICAyNiAgMi42NDY2IDAuMDU2MTQgLlxuLS0tXG5TaWduaWYuIGNvZGVzOiAgMCDigJgqKirigJkgMC4wMDEg4oCYKirigJkgMC4wMSDigJgq4oCZIDAuMDUg4oCYLuKAmSAwLjEg4oCYIOKAmSAxXG5cbltbMl1dXG5UeXBlIElJSSBBbmFseXNpcyBvZiBWYXJpYW5jZSBUYWJsZSB3aXRoIFNhdHRlcnRod2FpdGUncyBtZXRob2RcbiAgICAgICAgICAgICAgIFN1bSBTcSBNZWFuIFNxIE51bURGIERlbkRGIEYgdmFsdWUgUHIoPkYpXG5IZXJiaWNpZGUgICAgICAyNjIuODUgICA2NS43MSAgICAgNCAgICAyNiAgMC4zOTQyIDAuODEwOVxuVG90YWxfV2VlZF9WZWcgNDMwLjI1ICA0MzAuMjUgICAgIDEgICAgMjYgIDIuNTgwOCAwLjEyMDJcbkNCSF9UMSAgICAgICAgICAxNy4wMSAgIDE3LjAxICAgICAxICAgIDI2ICAwLjEwMjAgMC43NTIwXG5UaW1lICAgICAgICAgICAyMDYuMzggIDIwNi4zOCAgICAgMSAgICAyNiAgMS4yMzc5IDAuMjc2MVxuSGVyYmljaWRlOlRpbWUgNzU0LjA0ICAxODguNTEgICAgIDQgICAgMjYgIDEuMTMwNyAwLjM2MzhcblxuW1szXV1cblR5cGUgSUlJIEFuYWx5c2lzIG9mIFZhcmlhbmNlIFRhYmxlIHdpdGggU2F0dGVydGh3YWl0ZSdzIG1ldGhvZFxuICAgICAgICAgICAgICAgU3VtIFNxIE1lYW4gU3EgTnVtREYgRGVuREYgRiB2YWx1ZSAgUHIoPkYpICBcbkhlcmJpY2lkZSAgICAgIDU3MjIuMiAxNDMwLjU1ICAgICA0ICAgIDI2ICAyLjYyNDcgMC4wNTc2NSAuXG5Ub3RhbF9XZWVkX1ZlZyAgNjc4LjAgIDY3OC4wMyAgICAgMSAgICAyNiAgMS4yNDQwIDAuMjc0OTEgIFxuUEhPU19UMSAgICAgICAgMjQxNS4yIDI0MTUuMjEgICAgIDEgICAgMjYgIDQuNDMxMiAwLjA0NTEwICpcblRpbWUgICAgICAgICAgICA1MzYuOCAgNTM2LjgwICAgICAxICAgIDI2ICAwLjk4NDkgMC4zMzAxNCAgXG5IZXJiaWNpZGU6VGltZSA1ODk2LjYgMTQ3NC4xNiAgICAgNCAgICAyNiAgMi43MDQ3IDAuMDUyMzQgLlxuLS0tXG5TaWduaWYuIGNvZGVzOiAgMCDigJgqKirigJkgMC4wMDEg4oCYKirigJkgMC4wMSDigJgq4oCZIDAuMDUg4oCYLuKAmSAwLjEg4oCYIOKAmSAxXG5cbltbNF1dXG5UeXBlIElJSSBBbmFseXNpcyBvZiBWYXJpYW5jZSBUYWJsZSB3aXRoIFNhdHRlcnRod2FpdGUncyBtZXRob2RcbiAgICAgICAgICAgICAgIFN1bSBTcSBNZWFuIFNxIE51bURGIERlbkRGIEYgdmFsdWUgUHIoPkYpXG5IZXJiaWNpZGUgICAgICA0MjUuMzEgMTA2LjMyNyAgICAgNCAgICAyNiAgMS4wNjc5IDAuMzkyM1xuVG90YWxfV2VlZF9WZWcgMTM2LjAxIDEzNi4wMDkgICAgIDEgICAgMjYgIDEuMzY2MCAwLjI1MzFcbk5BR19UMSAgICAgICAgICAgOS45MSAgIDkuOTEwICAgICAxICAgIDI2ICAwLjA5OTUgMC43NTQ5XG5UaW1lICAgICAgICAgICAgNDYuNDggIDQ2LjQ3NyAgICAgMSAgICAyNiAgMC40NjY4IDAuNTAwNVxuSGVyYmljaWRlOlRpbWUgMTExLjA1ICAyNy43NjMgICAgIDQgICAgMjYgIDAuMjc4OCAwLjg4OTBcblxuW1s1XV1cblR5cGUgSUlJIEFuYWx5c2lzIG9mIFZhcmlhbmNlIFRhYmxlIHdpdGggU2F0dGVydGh3YWl0ZSdzIG1ldGhvZFxuICAgICAgICAgICAgICAgIFN1bSBTcSBNZWFuIFNxIE51bURGIERlbkRGIEYgdmFsdWUgUHIoPkYpXG5IZXJiaWNpZGUgICAgICAxMTcyLjEzICAyOTMuMDMgICAgIDQgICAgMjYgIDAuNTQ4NyAwLjcwMTZcblRvdGFsX1dlZWRfVmVnICA5MzIuNTQgIDkzMi41NCAgICAgMSAgICAyNiAgMS43NDYyIDAuMTk3OVxuQlhfVDEgICAgICAgICAgIDM3NC40OCAgMzc0LjQ4ICAgICAxICAgIDI2ICAwLjcwMTIgMC40MTAwXG5UaW1lICAgICAgICAgICAgNTQ3LjY5ICA1NDcuNjkgICAgIDEgICAgMjYgIDEuMDI1NiAwLjMyMDVcbkhlcmJpY2lkZTpUaW1lIDEzOTMuNDcgIDM0OC4zNyAgICAgNCAgICAyNiAgMC42NTIzIDAuNjMwNFxuXG5bWzZdXVxuVHlwZSBJSUkgQW5hbHlzaXMgb2YgVmFyaWFuY2UgVGFibGUgd2l0aCBTYXR0ZXJ0aHdhaXRlJ3MgbWV0aG9kXG4gICAgICAgICAgICAgICBTdW0gU3EgTWVhbiBTcSBOdW1ERiBEZW5ERiBGIHZhbHVlIFByKD5GKVxuSGVyYmljaWRlICAgICAgMzQyLjY1ICAgODUuNjYgICAgIDQgICAgMjYgIDAuMjAyOCAwLjkzNDVcblRvdGFsX1dlZWRfVmVnIDI2MS4xMyAgMjYxLjEzICAgICAxICAgIDI2ICAwLjYxODMgMC40Mzg4XG5BR19UMSAgICAgICAgICAgNTguODYgICA1OC44NiAgICAgMSAgICAyNiAgMC4xMzk0IDAuNzExOVxuVGltZSAgICAgICAgICAgMzIzLjU3ICAzMjMuNTcgICAgIDEgICAgIDAgIDAuNzY2MSAxLjAwMDBcbkhlcmJpY2lkZTpUaW1lIDQ1Mi44MiAgMTEzLjIxICAgICA0ICAgIDI2ICAwLjI2ODAgMC44OTU4XG5cbltbN11dXG5UeXBlIElJSSBBbmFseXNpcyBvZiBWYXJpYW5jZSBUYWJsZSB3aXRoIFNhdHRlcnRod2FpdGUncyBtZXRob2RcbiAgICAgICAgICAgICAgICBTdW0gU3EgTWVhbiBTcSBOdW1ERiBEZW5ERiBGIHZhbHVlICBQcig+RikgIFxuSGVyYmljaWRlICAgICAgIDEzNjQuNyAgIDM0MS4yICAgICA0ICAgIDI0ICAwLjI1MzMgMC45MDQ3NyAgXG5Ub3RhbF9XZWVkX1ZlZyAgNzA1My4yICA3MDUzLjIgICAgIDEgICAgMjQgIDUuMjM3MSAwLjAzMTIxICpcbkxBUF9UMSAgICAgICAgICAxMzQ3LjkgIDEzNDcuOSAgICAgMSAgICAyNCAgMS4wMDA5IDAuMzI3MDkgIFxuVGltZSAgICAgICAgICAgIDEwNTQuOSAgMTA1NC45ICAgICAxICAgIDI0ICAwLjc4MzMgMC4zODQ5MSAgXG5IZXJiaWNpZGU6VGltZSAxODU4MS4yICA0NjQ1LjMgICAgIDQgICAgMjQgIDMuNDQ5MiAwLjAyMzExICpcbi0tLVxuU2lnbmlmLiBjb2RlczogIDAg4oCYKioq4oCZIDAuMDAxIOKAmCoq4oCZIDAuMDEg4oCYKuKAmSAwLjA1IOKAmC7igJkgMC4xIOKAmCDigJkgMVxuIn0= -->

[[1]] Type III Analysis of Variance Table with Satterthwaite’s method Sum Sq Mean Sq NumDF DenDF F value Pr(>F)
Herbicide 25385 6346.4 4 26 1.6593 0.18964
Total_Weed_Veg 19000 19000.3 1 26 4.9677 0.03468 * BG_T1 9609 9609.3 1 26 2.5124 0.12504
Time 4002 4001.7 1 26 1.0462 0.31580
Herbicide:Time 40491 10122.7 4 26 2.6466 0.05614 . — Signif. codes: 0 ‘’ 0.001 ‘’ 0.01 ‘’ 0.05 ‘.’ 0.1 ‘ ’ 1

[[2]] Type III Analysis of Variance Table with Satterthwaite’s method Sum Sq Mean Sq NumDF DenDF F value Pr(>F) Herbicide 262.85 65.71 4 26 0.3942 0.8109 Total_Weed_Veg 430.25 430.25 1 26 2.5808 0.1202 CBH_T1 17.01 17.01 1 26 0.1020 0.7520 Time 206.38 206.38 1 26 1.2379 0.2761 Herbicide:Time 754.04 188.51 4 26 1.1307 0.3638

[[3]] Type III Analysis of Variance Table with Satterthwaite’s method Sum Sq Mean Sq NumDF DenDF F value Pr(>F)
Herbicide 5722.2 1430.55 4 26 2.6247 0.05765 . Total_Weed_Veg 678.0 678.03 1 26 1.2440 0.27491
PHOS_T1 2415.2 2415.21 1 26 4.4312 0.04510 * Time 536.8 536.80 1 26 0.9849 0.33014
Herbicide:Time 5896.6 1474.16 4 26 2.7047 0.05234 . — Signif. codes: 0 ‘’ 0.001 ‘’ 0.01 ‘’ 0.05 ‘.’ 0.1 ‘ ’ 1

[[4]] Type III Analysis of Variance Table with Satterthwaite’s method Sum Sq Mean Sq NumDF DenDF F value Pr(>F) Herbicide 425.31 106.327 4 26 1.0679 0.3923 Total_Weed_Veg 136.01 136.009 1 26 1.3660 0.2531 NAG_T1 9.91 9.910 1 26 0.0995 0.7549 Time 46.48 46.477 1 26 0.4668 0.5005 Herbicide:Time 111.05 27.763 4 26 0.2788 0.8890

[[5]] Type III Analysis of Variance Table with Satterthwaite’s method Sum Sq Mean Sq NumDF DenDF F value Pr(>F) Herbicide 1172.13 293.03 4 26 0.5487 0.7016 Total_Weed_Veg 932.54 932.54 1 26 1.7462 0.1979 BX_T1 374.48 374.48 1 26 0.7012 0.4100 Time 547.69 547.69 1 26 1.0256 0.3205 Herbicide:Time 1393.47 348.37 4 26 0.6523 0.6304

[[6]] Type III Analysis of Variance Table with Satterthwaite’s method Sum Sq Mean Sq NumDF DenDF F value Pr(>F) Herbicide 342.65 85.66 4 26 0.2028 0.9345 Total_Weed_Veg 261.13 261.13 1 26 0.6183 0.4388 AG_T1 58.86 58.86 1 26 0.1394 0.7119 Time 323.57 323.57 1 0 0.7661 1.0000 Herbicide:Time 452.82 113.21 4 26 0.2680 0.8958

[[7]] Type III Analysis of Variance Table with Satterthwaite’s method Sum Sq Mean Sq NumDF DenDF F value Pr(>F)
Herbicide 1364.7 341.2 4 24 0.2533 0.90477
Total_Weed_Veg 7053.2 7053.2 1 24 5.2371 0.03121 LAP_T1 1347.9 1347.9 1 24 1.0009 0.32709
Time 1054.9 1054.9 1 24 0.7833 0.38491
Herbicide:Time 18581.2 4645.3 4 24 3.4492 0.02311
— Signif. codes: 0 ‘’ 0.001 ‘’ 0.01 ‘’ 0.05 ‘.’ 0.1 ‘ ’ 1




<!-- rnb-output-end -->

<!-- rnb-frame-begin eyJtZXRhZGF0YSI6eyJjbGFzc2VzIjoiZGF0YS5mcmFtZSIsIm5yb3ciOjM4LCJuY29sIjo5MCwic3VtbWFyeSI6eyJEZXNjcmlwdGlvbiI6ImRmIFszOCDDlyA5MF0ifX0sInJkZiI6Ikg0c0lBQUFBQUFBQUErMTlCMWdVeWJiL0RCbFVCQlVCQTBGQVVUS1RHRkNyQUVtS01DUkZSR0NBSVRQa0pHYlhuTmFzYThhY2N3NjBLR0xBTlljMUoxUXdnUmtSZkQxVTlWQ011THYzK3U3NzMvZitkNzd2VUgxT1ZaM3pxMU9ocTA4SEF2dUZjclJDdFZnc2xqSkxoYzFtS2F2U2h5elZrR0JQR3ljV1MwV0padGdzRlphbUxNMm5DN1duRDhKbzBxR3BPODVROGJibk94REhYT0pZMEhRc3NDZU9PY1F4bnpnV05oMDdPUkxIUE9MWXFlbFlTTmdWRW5hRlRYWWQ3TzJKWXc1eHpDZU9tK3c2T0RnU3h6eml1TW11ZzZNRGNkeGsxNEZEMk9JUXRqaUVMUTVoaTB2WTRoSzJ1SVF0SG1HTFI3U0xUOWppRTdiNGhDMCtZVXRBMkJJUXRnUjBSN1BhTlBZbmk2VkhVMGVhOUdreW9NbVFwazQwZGFhcEMwMWRhVEtpeVpnbUU1cE1hZXBHa3hsTjVqUlpZRDA5YUxLa3FTZE52V2l5cHNtR0psdWE3R2l5cDhtQkprZWFPRFR4YU9MVEpLQkpoa2RJa3pOTkxqVDFwa2xicHBkeStweHpHZlNZREwzaXpxeHR1N2dRR3RaRTVTaFpmNlpnVy9iZUlxY0xsSkcyU0RqeDJSc1lwSk5kNC9Uc0N2U3BPTUxPTDlTRlVhc0UyVnB6YjBMZDNJSEthMXVMNEJqWEhwYnJkUE1va3puQks3TnVmNFlCSTk3d1NtNU5oUDBjaHU1Y3FCc01QUjlQaVJTV2g4REI2UXRyUlFjSFVYMTBKK1lGdmowT3c5WEgrazhMblVrNXJYNTRXWDlXSXRWaGxnbFhkZmsyeXVtWFlJTWRkUStoMWNDaFJlMkU3ZUhBKzFkMUJvN1JwVHJ2UHBFM011Z21aYVBTb0ZSdzR5NzBQSFRGVW5YclBOaDlBTDlQME9uUjBNTnRlRWIvMGsrVVUzdmR6eUtOUVhCc0hhLzROSHM2N0xzcHpDdmI4U2JWTS9EaWxWY2pNNkQ1VW5QV1laZnJNT0I4UVB2YVNYcVU0UEFPeCtqQTI1U3VibGxiNzJWQjBFclZaTmt0VDNYb0h6SHF6cnhrZGFyTjh3ZTFveWNQa1B1dFh3RWw2TEZuT0V4eTdEeG1sdHBpU3QxbUpkd1I4SUh5ZFJuMTd1TGJWWlR6SjlZbHNVTlhpdWU5K2FIaGc4dHdRRzdTQzN1SkdZeWM2N1BtaS9GTEdGS3l4N3R6MFhJNFRldDR2dk1hVjhnZm9SYnVQSGM0akkrN25icmRYZ1hHRGZXMWpEYjZBd2EvU1Q4OWVscDNPSFNrMzZxRDNjb2hMRFdyR2hQM0dvb1doODVXL2VSQytTYVllY0l0Qm5CZ1JaZHYxMlljb1R4NUswYzZ6YXFFWG1QSDlTaWFHQWlsYzE0WDlwbkpvanp5ZG16cDVMK2Y2ck5PdytiY0N3dEsxT0hDM2hYM2Y0R2lLWSttMVpVRG1Cam5YVERtUXdUbGVlcUszWE5SS3pqaCtaQXplVnYzVSs3c2hkcCtuL2xVOTdpVFF5dVV6YUgvRnN1NWI1L09nUUxXMENyeFpIdXF2NUtSYmZ1WXZWUy8wdXlqTjJiblFlaHBXZGVxWUNJTXQ0bzNiVlhwUnZYS3VqdGpWbitlM0crOFNTcERsU2VlaG1IcnJaYVB1cjJCY25UVktkOWN0WW55REY5emhiT1lCL1ZpYnMxNTQ3b0IycW1sKzJlRkhhY3NlOTFSSCtsN0Y0cjZkempacnIwbDlEUklOTHRWTjR0cXBWUTdiZHJJSXhRM2RPR0VFMllzNkgwaElmajVyRlZRbEtyL2JJUEhFT2k0cnlTeGMxRVdGQzd2ZThqOFd5THM3bEYyWVhyMVBCZ1FhTi9hdEh3STFadXQ2WGJtcWpFMEsvaktHZm55SzlVcnB1dFh5bTRDTlBLVHJPeXBxd1REZFc0ZHE3L2hRTG10eVhWNkdiYUxjbGpyYU5rNXNDUEZYVCtpWmhHblQvSDdicE1XQmc0ZEN2dDB1N1Q5d2JoSHNLc2dQbXJaMUV2UWJrNjYrWFV6SjhwTzdjRDRxZ21sVUhkV2hHN2ZFVjhvQThOM3lYVy8rRUdyWjZzK3FGK05vcXluSkxCcjNxNkNKaWNqM1l5S1BDSDNtR1RMMWk3YklLeWJuZWlUdGcrcWhMeC9xSlZ3Uis2M2dKVTZWSkZYTzVnZk1ka3BwdXRkMkh2djhGbDkranRSL2VmcmNLNmVPRUo1REdyZzdKOHpDdHIwMzFwRCtmS2hlenRmajNiakQ4T3cxSndOdFpOZndhU2NrSkI0NXlJNFUzbnhxMmNYSmtQemVmR1BldWVzaHpHR2krbmZiMUJTdTdjZzR0ZnRVTHk0YnNYdVdkb3dhcS96Z0kvNWk0by8xckNPc09NSHdxVFJaNS8wZkxDR0NoSFduMjY5ZkFVY3VOMU5wZXhRRmNXL0laalkwenllTXQyUjhnVHEyOEJNLzF6K3pWdW1sTnNrcWMrSGpvc29IVjduOG9tckFkV2ZFN2c1YTlveEdMZ2dRUHYycjVxdzhHVng1NnNaZHlubm1KbE96NE9ld1VrdS9RSjlyN3ltSEcvWXU0U2J6aXUrNlJqTVhSTUhpMjhQMmZ0YmJYUUJIRlM2KzhQdG1YZW9BRWZUSVZ1a3UrSGdNYnpPNTZMblVjRHhXZjZIcWZaUWF2WDY2UlVORVF4b21GaGtjY3RPN3JmK2wvbzdyM0paQXpNbVhxb01pTDhNK2RuN1B2UTNIQTFxTnVpa0hTd0hsTWRoalQxRFpzWlRmZWRyTnR4SnpJZGUxeWJZekI2MkQ4YTR0enNmYmFRRW94SXJTeGZrcllQakwzVlBEV3ozbG5KTldwZGFmejhScG1lZlN6NDI3eXZNdTNnNFRuM0pkU2dPTExwVWMrRUlUTlQyTVYrMTRqTjBlanFrWDkvM2pqQ3UvT0JxOC9BYmxFaTY2dHhDdC9YUS8wejV6RFlyUkZUL1l2MUhIN1lad05qYm4wdU11cHJDdEVYWHozVmRhVTc1c0JwL0ZLZjFnZk54dzNkVFhodURzMWZGTDRhZTM4eUhPNWFyd3NRd1NWOXZaeXVLVjNaMzBOMWRBMkZtVGV2TVF3NFU1VGtsVGFWNjlIWktyOEo1MXFPMXlaU0wxK0lHZzJ3SUI1emk5dDJYM1pueUtocmp1cTFjalhMS0tPc1NzVU1DWFVmd0h3WjEzQUFUMWRmLy9uVGNHTmhIWmVVOHpmMkg1SDRUQ2ZMeUNsc2RnaG5PQTZzVGRudEQrODBsdnkrMUs2ZEU1UStTL3BpempYSVRkT2I2eFFGS21ONGovTERyQStqNXJLeDMxY3QzTUdHVFViN0Y1bWxRb3JPaVYveXVoWERhK2JmM0xRM05vY0MrYkVQLy9SR3dNREo5VWFMK1c1aTEvdVBhYjBxYm9LUkljdS9sVkRiTW1uVDZzVUhDVnVoN2ExcDI3K2ZGTUNGbDFYYmRpNDhwa1UxMTdmcHlBUnc2eFhOa2crTkt5blhPTzYyQ1hnY3B5Mzc5K3ZVb3NvZTVMdWRYcnhmT3AvejhMdDJlOTNRTGVPUS93VVZMT0ozcVAxUzB4RXh0UG94YXFxMzJYa2NEWnU4cTNHdzZOb3pTTlRKSS9mMXFFTXhZZWJtTlRjVkxDdXE0elpEMk1hYmF1WmYvK3ZudElNcHU1Ykh4R3VyN1lMU2JSNE5uU1RqbFdiczIwbmlsTGVWdjlscmpyYjRtN08vVTV0N3diR2VZOHpGcDZPUWpWMkNrUzFMNGZPdUJUZXRib0ZWTlR2NEdLTHBRbFJyM1lDL1VzSUgzN2pqdXBYd3M1dzZhVWpDYnN1cWRFNzExQlkvcXZlTmQwQXBoQ3VWY3l4MDd1NklHS20zY3RYT1M1Q3AwaXJRZHpFcDVCRVZ1dll4YWJkczd1bG8yR3RTTG9MMUlVcFcwc0FCeUp1YzJ6TkxkVEprVkJpdnI2VHlESEw4UlB0MFAwZWU5Q1l2T09IZTJvM3I2ZmRuMXhFQktDUlpkeitwN3VCNjZGdTNZZGRFM2duSjdGQzE2TlQ0QUNuZnZPMWhSRlFLSHVqMDIzSFN1aG5McGQ4RGE2c1lIeXVFWDUxN0xoYjJwN25PVkpwK0tYa3VwbjJqVHo2TDFTUWhDMC8wODkxUkQ0ZGFEY2UyMmpZY2g4eSsySzl0NmxjRkZtYzdPbU56S0xwN3FGbXBRdGVqY1JTZzRGN0ozbnFrV1ZNL2ZxeW5lTUlleTkxOWRFaTgxZ3lLSEM4WHJ1dTZEUGhtcGI5NHUyQWRkT3ptWVpEMi9UZXlUK3RBRWFYS255Wk1tMlV6d3BjbWZwa0NhUW1nS3BXa29UUkUwaVdtS3BTbWVwaVNhVW1sS3B5bUxwbHlhQ21nYVFkTTRtaWJRTkptbWFUVE5wR2syVGZOb1dralRNcHBXMHJTYXBuVTBiYVJwQzAzYmFkckZhcjR2MTNLd2R6QUpjakNKREdaMmZwb085bzYwcEVsQUYrRjhWNFRickFndDREVVhPRGFxYlNad2pGUVFjQlJMY0JVRkNrbzVpa281Q2xCcEFVZFJ3RlVVS0NqbEtpcmxLaXJsS2lybEtpcmxLaWh0OGlwSDBhc2NSUjl5RkgzSVVmUWhJWEJVRkhBVUJWeEZnWUpTanFKU2pxSU9qcUlPanFJT3JxSU9yaUl3cnFKU3JxSlNybHhwOHdHcEpIZmkvL1lqenYraW82WkZTM1p0ajY3bzZRcy9sdXlTSDVFS2xxdmlQRGFXTTd3UzVwbTZxcmdPbysrdmRQMkZIbVVHbndxUng5aFhKZXFvS09oVUlmSmFhcHNLWWZQUGRQMkZubVpSRUxVVVNhNGtKUXVQYkZVc2JlV1hKclVKenBTSXN5V3g4aXRyc1pRNVZuTVZaMmRLOGpHbjdwNGl6a3pNTHNDc1RtQmFqalEySjkxRWxKWW55VXdWNXl0WVZJMUpFV2N4QnVVdzRzUXgyV21aOUZFRDZ6L1JtUDlyMFJpeVAxVmwvZWxGTUZ5U0VSQ013SjVrT0NUREp4a2h3VGc1a2d5UFpKd0lSa2dpRUpJSWhBUUN1bk5KaGtNeWZKSWhFTkFkVERJOGtpRVEwSDFNTWdRQ3VwZEpoalRLSVkxeVNLTmMwaWlYTk1vbGpmSklvenl5cFh6U0tKODB5aWVOOGttakF0S29nRFFxb0kyMjBPdWVaSytUaklCZ0JQWWt3eUVaUHNrSUNjYkprV1I0Sk9ORU1FSVNnWkJFSUNRUTBMMU9NaHlTNFpNTWdZRHVkWkxoa1F5QmdPNTFraUVRMEwxT01xUlJEbW1VUXhybGtrYTVwRkV1YVpSSEd1V1JMZVdUUnZta1VUNXBsRThhRlpCR0JhUlJnWk5uUzcwK2dPeDFraEVRak1DZVpEZ2t3eWNaSWNFNE9aSU1qMlNjQ0VaSUloQ1NDSVFFQXJyWFNZWkRNbnlTSVJEUXZVNHlQSkloRU5DOVRqSUVBcnJYU1lZMHlpR05ja2lqWE5Jb2x6VEtKWTN5U0tNOHNxVjgwaWlmTk1vbmpmSkpvd0xTcUlBMEtuQWEwRkt2dTVHOVRqSUNnaEhZa3d5SFpQZ2tJeVFZSjBlUzRaR01FOEVJU1FSQ0VvR1FRRUQzT3Nsd1NJWlBNZ1FDdXRkSmhrY3lCQUs2MTBtR1FFRDNPc21RUmpta1VRNXBsRXNhNVpKR3VhUlJIbW1VUjdhVVR4cmxrMGI1cEZFK2FWUkFHaFdRUmdXMFVZVjltcU4xMDE2RmErMGdiSkxMajVWNTFzeldRRmtnUDFSeHNMZVcxK1JZTzNDSm12SmRCYzlhdmx0UzVsZzdOV21SNjNhUUsxR2xGVG95K3hSbHJyVjhXK05nN1VncWxHOXJuQWhETkhSQms5eVJRK2gwa08rVmhNUXhpWjVMS0NWYTBsaVpSMVRtdDRDb0ViVTlBVWwrekNlMDhwcEQ1VFE1Z3R1aVQrUmJQWUYxMDdhUzN3Uy9FUnBYb1M5Wi8wbi9ab29qanpEQXQ1eituWWNCUTFCRVA4Q2tNUk1HdHNieWx5Z1ZQWTJUL2VUNTh2UVVsa2RoL2cra0ozQTZxaGVJNVlGWE9MSWZESnlMVXc1T1U3Q2RPS1FueUJyeHdZdVJIbjlzVjBSaC9ST3hQYXcvZ0lYbFRNcmdEa0w2UmRpT0NMY3Y4QjNpZzFiaTh0Z090czlFS0grVXNwcGZ4RE1YdEkwWHFHUG9QNHJFYXJwQVp5NkVGUzkwMlMyVStUTmRmNlZIaDBXYzBSeDVOanhtT3FvNThteWJ1R1paUDgvd2JPd2RlUzB5L3dwdExKYm1OL3IzajluNzcyNy9UemY1NTF2Wk5CcVYvNEtVV0UwaG1CYmxqWlphTHZNUEVSNnBETS9nVTVkMUFFMWFlSlNxRWFOZUZmT3RaUzBtWklyaElEVkNKanZXVUpDcllEdXFXSThtemxQSFpSdnpNRDdHQmhueVVzWmxtTEFYRXlwandsUmFXQjhqWThKV0xNeXI0NVJwUHhQQ1VtWTFEM0VwWVQxcXJLYlpyS3FReDlnZzhhbitTVXFHMUpRSXZhUVBsUlh5VlArR3JyL1NvNDN4TmY2b2ZpaUZnUlRpZzdGY3lHck8rK0RVRDZkY1hDKzExNlpOaTBvallDS3IyWStDbXpadFdqMnVPOFhvWmRJaHpjdkJxRTJOOWVYMWhqUzNMNWY3TlpmTGNURjZ1YzNMUWF4SEVaZmNMdFlETVU2NVhBRWYxWlJQemx0bVhMQUpJbGQwRlNKZmNkeVJZNVRGK2o2MHkxWW9RNFpqU1NMSHZPeW53L3JCV1VUWjNxWnB6Yksza1lmTUNIbkxoODNXcng5cCtUSHpOelFSaCt3VzRmNW92V1czdkNUL2NMSCt4OXI2WjBxYnRmYUhkWDdJa0NaLzBFbDAyL0FzQmM5UjE0SnJJU0hCdFhzN2drYys1bk8wKzh3RTFRcHlobWZTQndyOEgyalBCQ3BDUWtMR1crUjhsNitRTWo5NXVjdTAzWVZiWDMyWHoraDdqUFpzL3pDdUJ3cDZGUEV4dUI4b2xGZElpVit6MVUxdTU3a0Nib1YyL0VnT1B2L1F6cC8rR0QxUTVRZjVXQi9qSjBZTy8wS2ZJcStJNjBmOStWZjl6R3BhM1dRL05pRm5mMWZ5WC92N2tUMGRWdFBxMXRKU0laZjl2Y3ovOHdmL2VPdS9Id1BLTGZRSmM4enNlSDdVaDZvS1BMbnJZaWtjSzdPYW53MWJPc1BKU0lmMTUyT2cyWUw2enc4U05TSFBwdWxtVzh1bkhma0I2KytvVmhYd2JJUi9DMFJMZVA0Q1FiTnNWa3V1K0R0bnpwODVZVFVlTmcyZi8ra2xnL245bVYzRjRmUC85K0x3TDFnc0ZjYkFmMWUvL1RQbC91eW53MnBoQ2ZrM2R1di9JOTMvOU1IL1RIQzNWWTQwV1pxV0p6VnBjc0cveXRSL1Yrb2lUa2t4U1lzemtUMDFsaURPTWttVHBoU1laT2VsbVdTbTVXWFptdmltcFNWbm1hUWtKa3RNc2hNa0psbnBtZUlDU2FaSmtqZzFWZjVZekYrYllpNGJYcVBRS0hpenJjUHdoMTdiUUhYQWl3bEdCd0pCdGVXSGtsbmhQVUcxVE5xaFVDNS9FOTZZSWE4bkw0K1VOcVc0M3F2MDFUZTArbVEwNmNQNWNuc0s1YXRseGRQWHlQTi9pRThCcHh6WGdjYU1KbnNLZG11OFpJcTh2N01yMTgrVUwyOE1OVGZoWWpFL0ZGbzN4S0huVGtnSURSdXJkNEFHU0E4MDZOUFljR2lJOE1DT3lBL1FBTmN6UUhia3ZENXFOelRFK3ZTUjNTWTlqSDRqbVVKamFNRHdqQjZHbjlCWUFPckxyQWE4aFByWXJyNnNtT1ZIYUNBenMvb0dORUIrZ0FZWUh5TTNuTlhvU05nSnQwTVgxMnVGeSt0Z25LMWs0Zzhub0NIcUIyaUk4dzFSUHpUaFJPWGtmdFBEdHdJNk5wclRnbnE0dlIydzNnNjRuaDdtMitIMmRNRDFPdUIyZHNCK2E4L1VlOWdJQUxaSC9TYlAxMlBLWXovSjYyUDc3YkdmT3VCMk0vYmJZLyszeDNvNzRQWjJ3UDNSQWR0aDhPdGhuQjBaLzJDOVNwalh4UDVSeHVYMHNKLzBzRDQ5QmgvakR3Vy9kY1M0T21KL2QyVGF4K0RDdHpvWXVSdzNZdy9yWit6Sy9ZUEhSM3ZjLzNxS0tlTVh4djlZcng1VG4vRWZiaWVqcHdNZVYzb0svYUNIL2FySHRBZTN0eVAycHpiV3I0SEx0OFp5RFl4RDNtNG14YmdZZmJpOWNyKzF3LzVxaDl2ZERwZlR4ZmgwTUI1RzNoYTNSd2ZuNjJJY3VyaStEcmFyaS9YcVlML3FZcHk2dVAyNnVEOTBNRDRkM0UrNmVOd3g4MG9IbDIrTDg1bjVwY3ZnWk1yajl1dmljY1RVYjRmcnFTRy9nUWJzUHhXTWg4VzBINDh6WFFZdjB3N3NmNTNtZmdPbEU5U3ZYQjlZRHM2c2YzQnlYZlJtY0RMVWN2dXZTZnRBcWY3T2hGR2p6NEJ5ajRWTDlyem5nZE4zSittYThjTEJ5Y21xWmpyN3BhRGMybUQwSGY1MWNLcHdUTVczUGMvQnllcU5ENTFUdGNFNVcvT05VWDBQZ0xQK3d0Qm5wbzlCK2RWSyt4MnIzb1BqYnBZZWgwOE1BMlhBYk1IZCtqeFFzdHpWc3NwT0E1UWZ1SFN1cEpnSHpyUyt1dHhWOEJhVUZzRm5sL2ErQUNXVGR1WGtKWEhCNmRmRDFycU03QXJPcTR5ZjN1ditTM0Q2cGQrSjEzUFo0SnhBM1hyeTR6L0FhYzFsR2RzNWEwRFpjbzFlbFhZVzROeE1weWNhTVkvQm1VaUIzeVQxbStCc2dZM2ZoaGRiUWJtamlkUDI1VlhnN0tRQlM2ekV3OEc1MlFjN0hmUHlBMmNNRFExOGZVYUEwb28ydzN2ZDVJSGZwUTE4d1lTRDRIeSsyOWFwdjR2QnFRVUxGdWk1UEFZWFV3MXNsRGNseS8xV2ttSWVNWDNISFZBYTJmZkFNNnNaNFBpTWlrMDNQMVNCa3M2bnBac1Nib015Uys3cnNMeEI0T1JsdzVualZpYUI0enRISkt6czZBL0s5UFgxbzZlendBbmo1WHFqM2EzQjhZYXZtWHZEeThHcDVIaEtMTEFIcFpjZkxvdy9jUVNVVFZZeEczOHFBQnhMeWw3b2tlNENUbXpKWEhQQWZqZWdYRlYwZkk0MmdMS2MvbGs3a25hQWsrK0V4M29mTVFJbFk2ZWVVNzJYRHlpN2kzWVBmWXZCeWJ0UFo5U3NwdTJ0MzJId3JvY0xPSGtuSnoxQ3RBdWN5c2g4OVZrbEg1enN2YS9iZGZYVjRFUTFVRW5yOGhTYzJyTHM2OGxDRFZCcWZXamkySkprVVBwbWY1R2pSZ2dvNjJ4V3ZXSDlMbEJhbXlEdUU3NFZuTnIydFdUM3lUN2daTjM1MVRaUHhLQmsxNkFCd3hiZEFxY1hKS3R4K3RQdGZoOTljUEhGY0hBQ2gvL09tbzhCcGg5ZDVmUFUvQ2dhbitiNGxyQjVOVnFYelBFdGJQTzJhUHliNDNscGZnbU5hNHNjTkEvTThUeXpjTUw1ZUI2WjQvWE5uQ21INTRGY1h6S2E3K1pqMER3d0wwUHppeWxuc1J6TlF3djhVcHdGbmo4V2VGNWE0UFhEZkRlYVR4WTRaZkNZZjBINUZuZlErbUZoaTg2ckZ2UFF1dEpkRmEzUDVuZ2VtMk43REE2NWZUei9MWkQvNUg0elBlNmw2N1dmQjAwVFd3KzlPUGdZN0thYmx6b3lkZ1kwVFYya2JPLy9HcHBJZmNjS1ByK0Fwa1BHelU4WTlReWExbGdkSEpsekQ1b3VPRFI3bWJvUk5BM3J5VTJmZVI1MjZ6MDdkWjNKRVdpcUZoNnp6Y0lObXJ3ZjBXM1h4cHZRWk5mdFM3TTlSMEhUYTVkUEc2L3RDazIrdExsZjlQdGthSHBscjR0L29UVTBPU1pvSDFGN0U1cEdOYVIyV1Y4S1RVV2kxN2NxbDhCdWo4NWZWMTZ6REpwdVZKWG9HdGxBVS9Dd2RmYk5OR2k2Tk83TmxOeE1hTHJ2d0xudTc4MXBuT0pqZjdqTWdkMEM3bFVkNnM2REptZjZxN3JWV0VMVGNURmp6d3pyQkx0MU5TeWZrWlFFVFlmNm03NmJZd1ZOSDdUekhxeEc0elhxOWkza1pnWXREK3c0NXNwNGFMcGtjNW1rbmszWHY2d3p2Y3NqYURybnhhZE9od0podDZEc0kwbWp2a0NUZThjdEQxVW55T2ZwcDRlKzg0WXY2Z2ZxcWk0Rzc4aHhBeDlyWTN6anlqclQ2VHJmeDA4L2czcU5rWDFlRDdRQVh6NE8zL0drWVRyNHBOb3dUS3Q5RVdqNERGN1ZhcGVBeitMS1dkdU9uQVdmN2ltLy92VG1LZmo2NGhwMytGQWRVUGV3VDlHUnBTZEFnejd2OWVEMng4RzczcS92SHU2cERENXZ5dXkvY0dVZjhQN1k2TTZlZSt0QWc3YVhSTVBCRmRUeFJqclhsTGNIbnhMcTF6OVViUTgrM0ErNkQxUjBRZDB2cTlhNDM0NEQzN3pYN3JqYTlRS29rKzdSdUtKU0FocE0zWjhJbGZhQUw3YlRpaTRjVlFOMVdrWHVwK1BmZzYvUEgydDIzdmdKMUoxNGJXZHhXQm5VZnk3dzJkaGpEbWhZMEtzc2RVc25VTCs2WDlrRTU5N2dtK0J1MllORkswR2RzTXJHVmZjYitHd1FHMndOcThDMzF3K01jODFzSWN2T0lkbmRpZ3RxNzd2RWhuWFpBdGtCcDNzK2JHWEwrSzI0WXFxazdwTkpVWEhsNUYrR3h5ZHFGYjh1MUU0MzF0bGMvT0pCOWxjUGM1Zml5NytkNkJwc1BSU2NiTC94a083bkY4WDNWNVJFelQ4N0RWd0s5ZzllSHVsVGZOWndXTVdIL0MvRjF3NXR5K2xlNkZYOEpDaGd6dTVmZXhYdlhldjc2SnZXOXVLbm95NWw5UjE5cDdqaXNWZmZwZnRYRmxlc1hPNjdjbUowY2NXKzY4dDhYcG9XVjY5cTdiYjJ5Y0RpNTlTVU5ablgvSXBmK3MrY05jK2t0cmhxeEp1YWJhZjdGVDhmK1dCWDdocWQ0b2NWbHBSMW1yQzRjdm1SY3pxL255bCthZGIxdFd2SThPSlg3bC9VYm8vaEZEL28rK1hFNGtmS3hVOWZ2VkNiTWVJMzhGQnZsUE9vb3c3RmoxZk5hcE1RYlZ0YzRYVlU4OHViMk9JMzFoYy9KUFZkWC94RVo4UEsvUkV2aWl2UDJhVEUvT1pkL0dycGJaK3grZzdGejdYTGpIdXNEeXF1MmhnMWx6MzNSUEd6S1RrdWR2MnVGNzkya296cWRqOVZQaytWN3U5NjFEb2pCN2FLUForcUhYUVA5cHkzY3RqTldpdllmWHZkQ2J1azd1QlZyMHRtMGRuakljL1dab3JJSkJnYTFiOCtmOGRZbWQ1M1RGckREdXNPOWRmZlNmN2pYQXBVeTduSHV1WFhGVnFtUkV6TU11VkJ4N3l4bzlMS1pvSVhMN0tGTzdwRVFwTWVCMFlIN0Y0QTlTNjI3eVZKS29EY3hJbDlUeitmQXp2TUcrd2ZtcWdKNnUvK2RyaHkzd1hZWlhtYjkwdCswWVU5Q3p0NkhndUpnN3BMdGJwK3U5OEdWQi9WYkJPeDNoQmNUbEx0ek45Y0R5cnJueFR0YWJnSmpReDlmUTQ0WlVQOXFWZHF4NncrQWQ3cDhMbGpWb21oZFk5cGVwbWhyY0dudGl0cWRpOFRnRGRSSDI0T1hPMEMxUitVelQ5U09BNTg4dGx4WGZKeU1yZzA5dmlVTWY0RlVKQmRVUGRtdUNtNDVMVmp6UlN2MnVLOVM0cUtPdTBMZ3F6WTM3cnVzYllzM3JyRWYvc1pZYjdjYjFZUlVYYnpGOStHM0xBMWptYVY4MkFnZDhHbndMdmVVSFRVcjNyM3pqT3dZOE5xMDhyUzV6Qnllc3F3YWVVQjBKTS8xZDMvUVNVVXJycVdQZHUwRUxyT1NqN0FyWENHZG5zTDAxcjNHQVFENTgwekhwSFpFWWJiekY4aDFEc0g5YmJQMnZqcytscm9aVC9oeTVqWXZoRE9ERHkyMFhzbUhCWmhhcjB5b3c2Q1IwclhNcVBQd083OFBndWQzYzlBRC9kUDcxeDduWUFCUVRrbmpyQnJvZkJNdDVNV25HUm95SE9hVXAyVUNlbzBoeTYrWkJnRzIydjBPei94U2h6MEhMRHk5MEdIaWlCYzBydEFmMUV0N0pwMGZ0M3Nnc013dUZ6dnhBRDNjOUJrWE5HWEJSSHJvWDZ1NUJmLzVEM1FRZlJKMnNva0hacnMzSnpXUGVjbStOSmVXMk5zNkcwbzd2NVpiZFd0bmVCTGlmajZEVTFPOGYyNmtVVXJkNzZCUFRxMks2bnJmWjdWOUVOK2kwMytNS3hpcGdTR3ErZVBEQzdPZ1hZcWxtWFpXZjFnVlArdnZicHFmb1VSdDM1M2JBalRob1A5cW1zTWgvbEFkdFNXME50aGw2RFp5SUpOMG9scm9OM1J6ZWIyMDU3QUllZTJUQmVwMU1IZW1xR2FyRi8yd2tGL1dDY2MyeEVNZzlwV1c1U0VENFVPamt0amF2MzJ3ZUE1ZWh1TnUyNkFJUm44RlcreTlXSGIxYTZMbEhNMG9NdmRKV2RYK2FWQnQ4OHp4NVM3TzBQWDBtWHJGazhTZllmdlozSDlKQjdHYjlTZ1o2Kzd0N205andyT05kYng5SEdCZVlibWhXSHRNeWx2MGJ4VEF5d3pxY0hYS2c0TWlCb0JYYmYyOUZrckdRT1h4MTdMV3lDY0MyT2o3bnBNTTU4T0l3THZnY00zZGxFaGxrdDVPZU1Pd3RpaWF5YmQ5Z3FnSUdoeDN0U0wzNmpCVG0rUDFWNk1neExlNVZHQmVublV3SWM2amxkMHRhQmJvZEhoTFpVMzRVVGRCVHM4dGs2aC9OcE5xTWprOVlDVzlpVlRSeTFmQ0FjZnUvcDcvdnNJS3FUTi9aNUx0cCtoQmk5eTc3TFhMWlVLM2FyK1c1OXRZaXBVMC8xTE1seEE5ZS9ZcmMwZDhYeTRJT2dqKzhpaUlzcHA4bkM5dEN2bjRmQnhaMWZuSmJ5aUJuMzcxTVB5OFFVcXFGU2oxeDNmWlZSUTRQUlRqeTYvcDN3T3A4KzRVNlJFaFk3dE8vZEovbE00c01IRWVaaFJlOHIzMXEzM3FmNkhxQ0dacDVTMjJmZWlBbUtycmk4S1hFWThuSUhPcDIvUWZraWVNbkVjZVp5RzRabjRqa0k1Sm03RHhISGs4UmVGZkxrZUprNmpFSmY2VVgxNXZJZUpGK0Y0anh5M1FyMi93cU1ZNzVMSHFaaDJNZVVabkV3OXRGLzh6M1hXVDE1blZjMlpPOWhjL3l1b3ZKMDdmV3IrT3ZCeWZ6K2ZrZExINEtYcWZwTUhLWHZBQzdmUTFRdEMvd0F2N3Q0cWVxNXpDRlFWWDM5M1pWaG44TUx6WE5YZXk1MUJsV21remY3M1pxRHFYZVpaanNWVzhHSS8rOWY0SGVQQWl5WDY3aGVXbndXVjdXWkdPSVdjQUsrQzBtL1VsWXZCaXpEQlpFKy9lK0RscUxLWGZVSnlRZVhTdTBZT3ZtcWd5dGtxcStKTkVYaDV0T0drMGRCMjRGVTduM3MxdlJlRHF0TVR3OGN2dEFaVm9iZHZteVlZZ2FwZkFwVHRFM2VEeWtXZlBxZW9EQVpWY1krT1ZJKzNBUytISFhFTHZxSUtLcjM0ZlhWT0tJRXE2dzUzWWxhNWd4YzNDaVRIWG11Q0Z4N0hRbjdkekFGVlk5YysyN0hoR3FnS2hoZUN0R3RBWmRLaWt1MjY2Mmo1aktMQ2RldkFDd3ZSbnRWUmJxREtZMVNYVDRzT2daYytoeUo0WUNTTkw3M0NyL0dGZGgxV1U3UmQ0ZVZJVGRsYmxIa1NTYXdKRXpYLy9rM0w1bTlYZnY4NjVaL0xtOWYrenA0Q25oYk10eUQ2a2EyL1Z2YWQvUitwK2p1T1VURDNwMitoZnFmdjM4K3IveDdlYTdvOVNON2hKNTkvVTZTVzVHUWR4ZU1ma2VMenMrUnIxMlE1QnA4SkMzM0xTL1o4cSt4N1hiSnZjOG0rMXlXN01TRDdYcGZzRzEreTczckpMcUZrd1YzWjk3MWtRWDdaTjc3YTBpVDcxaHNmVDAvWk43NnNzRTNtK1ZjdFZ0TXpzVElQeWI3eFpjOUMzL09TZlF0TTlpMHYyVGZBZWhCdFZtZjk1MjNsLzJ0dks2TnRmVXhuRkY3S3lFSmg0OVFPS0R3V094K0ZxeEtsS0Z5VVVZUENTdGxCcUZ6K0ZaUm1ERVRsOGphaGNGUDBUaFF1enBCOVZvWEZnc25HS015VTFSM2xwd2Vnc0ZuY05Wd3ZCWVhURW80aS9kRWJVUmhPakI1L2d5blZLRHlXK1JXbEtVNG9qUitId21XcHkxQzkxQk1vN0NZZGh2aEUvR1pJQVg3akpHa1ZDcmRGM1VkaHNKUTYxTzRVSEM1UG1JSHFTY3hSdlV4Y1BsMEoxWStyYXJRbjk1czFEdmQ1YUNBOGNDSFNZNGZEL1h3Y251dURlZmNOcUp3VERzTjU0WENnRnc3TGMzQVlzbDhuRk40RFdBNG1vZko5Y1BqU1BRTEozVEtRbnh6d0d5dzhITmJzaW04dnVPWWhQRjVKeUU5Y0JoY09EMXBoL1I1NnFEOGd2cjFnaGR2bGJvZFNNM3hid0F5SFIzdXJJendPVTVGZUsreS9ubGgvLzE1STNodS9RZE45ZC9QdzRwQWFwQ2NhMzNhSXd1TWxKQjMxdDNnK0hnZm15SCtSUzFHN0pPZ3hUeGk3RmVHSm1vandCNnVoL29sU1FuNFQ0L2FMQlFoWDFCUE1ZMXl4QjFBL2hPUHdiZGdLMU01QitEYUgrRFR5Y3pUdXA5QkFORzZIamtUOUZmb1M0UkpUcUp5NEs4SWJVWWJzeFp4SGVrTncvNGJnMjJWRFhaSCtpTFhZYmlIeVY5aGtQSjd2b3ZKUkVQbGhxSHFqUHJuZjlIRzdJTzQvaVB1ZENWY3pZV29PRGl0ejhlMVdHOXhQOENxdWo5dGhoTVBZZHJqZmJYQVltWS9MQzdEY0NZOEhEc2JGM0RZMnhlVjFNTytBOVF0eHVOb2Fqd3NISElZMnh1UGJHZU56WDRYOFlZeHZLems3by83cnlOeCt3M3E3NGJBN0I0OXZJeHdlNzRIblEyOGM5bmJFOVV6Uk9KVDd6VDRHMVJkOVFIN3p4ZVBZeHdHbFFxeW56dzZVK3E1SC9lNWFqL3prbjRiYUh4Q083TnRqdlAxclVUc0dZai82ZDBQdDlKcUovT0w5R3FjV3lDNEh6emNYUEMvTWNMaC84SHpVZi81WnlHOU9lQjY1elViNCtIaisrd2FqZG5wZ2V6dzNaTTlkQi9IVytMWmNEelBVWGtkOG04QUp0NStIeDB0UDNDL01HM1krdUQrY0V4ckhvZHh2RnRqLzNyai9QWThoL0xaNFhBa3dIbWN4NmtmUFJ3aVBFUGZQZ0FHb0hRUHdlTFhIOWJ4eGU5MTZvSGIxeDdkTDNQRnRFTVpmL2JoSXZ4MXVKNDlDNDY4ekx1ZU1iNThPdEVmdGQ4UjYzTEpSUGZ0RENFZWdKeG9YYmdXb25SdzhYN2g0ZmU2Rzhadmc4V25mSC9VTHMzN2I0emNIbWR2Um9vZkl6MTdZdmdEbHkvMFdQd2ZWejNSRGR0UGYrWnFWc3J2RDVCV292Wm14cUY3S0JkUVBhWGpka0s1RC9zMXVoY3M5UisyU0ppSjgwZ3lFUDhVSHA3OGlmNlJpUGFsbHZ4NHA5S2lCYVhnY3hBOUI5UkxPTElzL1pEWVN4clJIL3NtOGl0cVpPVXA2YTZOdE5FeTdWbS9UWmRGUm1NUjdxZTNaL2lGTTVuQU5YYXNsTUVPL3UzanVvZ3RRR2hCNi9WVC9LekN0dk10K2l5VkxZQTRldndrSGtSM0pBdFN2S2NkUUtzWGpQaG4zaTFRSitTUDdldDlwbnd6WHc1UzBWODl2ZjJvTjA1MW1yc25TVFpmN0xVR0k5QlVHb2ZHV2g4ZWQ5QnpDblNIRSt3VVI2ditSbUIvRlIvMWNPQjMxKzFnemZQNGZqUHc0SEsrN09ka0l6d2dSNnM4OFBLK3lQaU45b3owUjdqUSs2b2ZrWEpUR1ZxSHhsKytJMHBHamtEelRCT25MS01IOTNSbnBLMWlKNUxrQTkrOTdaRzgwSGsvU2NwVEcvb2IwWldhaWNaS1pqL1ByMGZoTVZFTjRSbDFGOHJ6cnlLNTBYaVBmNUxmK3FQM1o3c2hlNXZ1S294Ry9VVERsRStLejJpQy9wamtpbkJtMmVGd0NoRGUzTys2ZnoyaGNwT0YxTHAySCtsbmFCZmsxRGMrVGRESHliM3JzTVpQeWI5MWcraDNrdndSVFpDZnh6cWp0Q1lMUE1BYmhoRmsxU0UrMllWRmpHREg5MHI3bkJaZEd3aFJwbjlwempvdGhpdjNIRGNzTmg4TE1BOFYxTm80Sk1HUHBOYkhGbmxLWUxuR2RlWXJOaHJuMXlHNWlLckliMXhmNUlmVTV3cHUrR2MzTEZIT01jeXdxbjd0aW9uT3JlVk9nOU1paHZSdE8vQUhUeTZyT0oxejU5cDk5eU0vdFE4Q2J5ZzA3WHZyM0FCL21ma2pXaTVzTTN1V3UyT2Q1UXdQVUtKM2VQMjlRTEhqNXltWFdhcE10NEZOVnNjb01tMEpRSjJoWFhYVjdOYWluOG81VW5sd00zajBka2FDdFhRVytkTi8xNllyL0RGQjVlOGI1WjJwSFFXMVZyc3NhczNuZzQzbXJndXRoRlBqNlFOVnBxbWNBK1BpMXA5TzkxUHZnM1NpaDhQV0tGRkMvWmNEcWd4Y1R3UHVkRlg5OGNQNFZWTmVYWCs3M1lTR28wYi9vbVhva0NyeExYS215OHhjeCtEUjhSSmVSRTZlQm1yNUxyMXlZSlFUdjZ0bFdGM1RPZ3ZjemFsK1k4K3ZCaDZjUGQvbzc3QUR2ZVl0V2VPL29DdDdZWlV6eFVYWUhINjBMVkZoWkE4QTdzY2VGUTVGRHdLdlZDeTdPSHBrTTNoMzVQYkkrdXcrb09YakczT0g5WmxDemZFV2IzVXFPb0RMcGNMZko3MmVDRCtmWFQwNWJ1d2w4dnBUZXJqQmpOSGpWNDY1M3hFMzU0d2lnL3FHbzM2OE44NkY2MWEyOGwwUGZRTFZPMmNPblp3ZEJ0YnJuNzg0OFBRYStEVEZmUDZrOEhhcjhLZzFUamhUQ052TXRZc2Y1SjBHMWpsNzFFYU91UVZYUk9TOE5vMDFRWjJGeUpyLy9mcWdDTnVrUHFaOE50WHJQM04zbDNtS29ZaGc4ZVpmZFdLZ1Y0SERNM0c4dFZQTkpXZjdLcHh0VVdsYTllc1ROMFZERFltYlBUbm52SUh0NjRIR0h5eGNoYTZ6VWVwbDlDYWlIRlJaNW53dWdhcWxMME5pUDM2Q21TVDJyejU0blVQMlA0WjRWc1hwUVpZc0JQeVB0UFZTSHhzNUtLdkZRM2FEdXRKMW9HVlFwVCt6ZE9pZ0lzcGJlSHoxMVhDalVQTHBnbWNHa1lxak82ZlNMd2RBVm9HRTF2KytSV2JUZURUUFdiUHpXRXlwN1h3b3FOVzhObFE2R082WVlHNEVHbS9URHVXRzBuczJjejg4TWhGQTkvMnI5dTMyZVVLbVQvVFNWb2pOTmZ2dm80bHRSbkF6WlJ6cjBtdjVGQ1NwWnpRbWFWS29OVlplNzN0NFpWZzNaZ3g1VnpibDhIdFNOWDVLOThja3R5STRWelkybStPRFQ4YWwzbGRxOWdXd3pYNy9DK3VOUVpXQ1U2dFRFL1ZDenJhcjA5U3hseUhMYzdpalpsd0crOHJTLzFpMzFCZlc5L0RhTmpoZURiK285TzBjK2tJS0dXUmVIOVgxaUQ3NW9pUTZMU2grRHVtN2grYmFMOHNBM3ZWTkdVaDBKcUl0V25yZjZtaTlrMTR6bTZOVG1RYmJ4Sy9YRGJ6Mmdtc25WMnpsdUVaQTF2VWRLMGFPblVNblFTVmhBYllPcys4dGVwdHJ1aGF5OHVLcTBzNVdRM2FyV1NkMzhGbFNhODNDSituQUFsWHYwUDlUUnNCQ3lwalFZSFBqc0Rka3pWM1ZzdSs4R1pDZlkxaHhZWmdUWnJPSXpMNnc5b05JM1cxMWUrSGpRRUxMdmRXTFBRNkRCZll2cWx1ZFdVUG1lNTlQZ3hSbnk5YzBZNzFlTThXTlpSbmorRytGOXZUSGVKeGpoOWNZSTc1K1pmQ084SHpMRzY2TXhybStNMXpVVHZBOHp4dnM5WTZZK1U0NlJNK1ZZYUQzcGl2ZUJqTndFNzFkTjhEN1JCT015eHVWTWNEMWovTGlLQ2I3dVlOcGxndTJaNE9zZkU3elBOc0g3WkNPOG56Wmg5bmxZTGsvSHNQQVB4OStVUHJKWXluK3dXQ3JEYUVxVmZWeUVUZzNvOUIyTHBScElIeHZTeHlQbzFKL21qOUxsZDlMOGJ6UWRvZmw3dEp6ZVF5dGIwS2s2VFdZMDBXdUFVaFZOc1RRTnAvTTIwT2xlbWdUMGNSWk5iMWtzOWxPYWo2UFRGRHI5aGRaekhvY0xrMm1TMVpkLyt4Y200dXY2K0ZLMGZpZjc0MzBTUGo4a2owYjlGVHNVK1RXcERPVkwvSkRmMHZGNTJRL3ZmMkxGcUw5ancxQi94V0QvSitIOVVOUk5mSjQxUVAwZTF4SHJTVVRsWXJhZzgyTDg3MGl1aU85bmNmMGtIcm5mQlBnNjFBcVBIMWNjOTNERDF6RUFYMSs2czlFNEVlTHhZb0VmSDNQQ1h5cHBqOGV0UGI1dXNzYmpzenZHNllEenJmRzQ3S09FN1BLdDhIVU9maXl0RjQ0SDljTGxGZkg5TEs2ZnhDUDNXOVJrMUw2QW5VaGZMTDdPaXNIWE1WSDR1amtTWFQ5QzhSZWtQd3p2dzhLM29ma283b1RrUS9COEQ0bEg0eVI0R2JJL2pJWDBoRlhnZmN4alZDNFU3MDlpVG1BZVh3K0dEVVZ5Ulh3L2krc244Y2o5eG1FZWU4ZitkOEp4QnY1enhEdU9RL1hzc2Q5dGNINFh2TzVhNEhWWUE2L1BuVEhQUE03UFBIN2RqWGw4RWErSFRyaTl6R3NEL1VyeDQ5ck1ZOWY0K2w4UjM4L2kra2s4Y3IrNTR2bkx4Sk84OEw3VUc2L2puaGlQUnpTT2Y4U2o5WUtKZjdqZytkTU5seGZpL2JNTmprdFo0dk1TRTRleXc5Zng3ampPNllEbEEzQy8yK1AyY1BOUnFvanZaM0g5SkI2NTMvcmljZEVUUDk3cGpxOVR2VEFlTjN6ZDdvcm5CY0J4SVZNODdybDR2V0VlMDdkaTRtLzQvRytLMXc4TzF0TU54OTM2WW50V0dMZG5kL3lZS3ZQWUt2YUxJcjZmeGZXVGVPUitTLzJBNXJ2a0d2SjNldmhZZFYvenBUQmZuVGY1OUs4Tk1DTXljb1p0Z0M5TTczZnJqZkMrTWN6NHNzbTdWdG9ScHI1RCtOS05VTC9pK3dQeWIra25XU004OFp2UTlWN2FXb1EzNFN2Q2xZVGo4aG12OEhrU3o0Y0VlelRlcGVzUnI0anZaM0g5SkI3NXZ2eHR1NmRuU2tlV2d2ZTduSVRXR2ZuZzdkTWRrVGFQbm9GWEV3TS9taDhkQjk2cTdONXdkaVVIVkJ2TmVzcEtIQUNxeFIzSGxpOFBCbFY1d1cydjlUa0szbmVxTzFreFpoQzRmY2pYdmV6OElBWWZlSFZlM01WL3dVdndldmY5OThPbHNhQjZwYVRUeFUwTFFkWDR5anRHUzA2Q3o3MW5zdG1qTFVGbCs5c3pGdWhHZ1kramk3U0RWMWVDTjVjZTJOMWJOZ084K3VBenN5N0Y5anQ4UDR2ckovSEl4eHQ3Mzc1bE53ODlnVnFqRmxTd1N1WkQxZ0xSa1lsS0I2R3krSG5lbnNCaXFNSnVkL2Zzb21qSVBqbTQxZWhmbFNIYlJhS2tzaWNlTlB5dUVubzRrUVBWcHg3WU95N1RIRHg2dkROMHdvNzlrQzBla3RCMWtUWlVPam00cWxmRUlLalVWUnB5YVpVSUtsMm95czMzT3dacUg0eUtmL0ppQTFRM21yZFZrdW9BbFVyU3RTVDlua0NWSVgwV3hQekNoU3kvY2FtZWIvUWgrMnhhMlBYRFR0L2grMmxjUDRkSFB0NitoWmROL3VxM0Jhb1V6akJWMy9ZS2ZOVXpsQzVlN0F0VjJjK29wK0d0SWZ0RXl1dXY5MVpBZHRINlhPOVJlcEIxRFk3MDNxd0hsVmJrNXJvZDUwR2xJNGJuK2lhTUF4L0tUeG4wS0c0dG53OHEzWXRHRFlUam9kTERtUFhuUzdMcDY4KzBQZm9mT29CdnpxZHVESEdZQ1JvbXByalV6cDRCMWFzNzI5MXgyUXkrMWxobGgveFdEVmx4RnJNMWUzaENaZFlmczE3TitBN2ZUK1A2U1R5c3BzK3p0L1JNd28rZWQxQWtsUmJvbjlIVmdoN1p4OUtWWlBFNG5VWWV2OFhMM1BobU0zZXUyY3h0YmpZWDFWRm02clQ0VGZYbW4yQ1hpbE1sV1RRZ1dmRXdMTlJ5RTJmR3BNVktJbjM2TVpwRDhVRWJONjlJa1VkZ3BMdTNxNStYQnhacXU3dDVmeTl0Sy9MMkQycWhzSjlyQ3lyYXVJVzJJR3lwcExhdnEraDdxWnF2T0xvSnJtYVFPRFU5aGNDdkVweVlLbUV5R3grR1NaVklzK1dQekVneW94TmpFbU9aRW0yYjJoOFpMYzc2VHV3bGtVcXlFMk1ZUUl6WU16TnR1RVFxYnhDV0RuQU04bWVlaFdqTkNOMXlVcEtaNnFGREl0M1QwakpqRTZYaWJMb3JjSHRrZ0cwZDVPMUpTMHlKREpha3BqTVA5YmluWlVvamc3TEZLY2xNRFMzM3RGeEpacVFzUS82WWo2OXJVSkM3Ty9QRVVIQWFYVDV5a0NRK2NqQlpUQnZKQjBza3NiSk1MRzFQU0hNbDhiWnBtWWxNbG1IekN0OTNodXo1b3F3czBXREdGUWlaS0RGZTlsd1MwMERSNEVoYUR6TU1mUU1pNWVWUmRiOGd6T3FpNm42SjhRblprVUVKWW5rM29mYjVCakNJVVRsZmNXcDBWbVJHampnelc1TFpyS1JuY0hOQW5tbjUyZUxFRkFaUVk1a1Fwa2FJN0JWMmFSNW1OZHpUVW1ValJ1N3M0RVFwN1FBWkpLWnJHN3RJTEkyTnBMTVlPd1BwZGtUbVNXallhWEk3T3YweUN5S3pmbFJZbGtrVTF2WEtGT2ZTSXlFN016RW1Nay9jMUNLRHh0TGVqdmFSSXJvbDhZMDJHc2U4L0ttdlZCcGhIb213VGFNb0ZsdkhRdjJCYVlsWjJUbVpra2c2cjdGQU16VWFmdDVjVzVGb29LMmM5K2VRdkE3TlI2YkdSeWJIMDNvSnRhMzk2ZUZDRCtpVVNMcUFmT0xUWmIrZnpqTG9DR2VrUkRvY1MwM2lpWGFuTWhCajBxVFpkQ2RFZXZneEsxVTdXWE53N2JpMFRDS25qWHhTRThMV29oVGFoNUYrT2FuUmNrL3Fla2lINDBZM3oyZ2pYMFFJWUVwdXpNZnRsZWxGajFsZFpDc2RJNmFYTjNsWlp0VlVrc3VVNmRXTDZTSTBqZHdqUGVUYXNjanZlNUdJRUttNzIvb1JrR2hXUkxKK3pWaWxkQWFsa2dlekVxalNpM2d3czdhb3lSWnZPYWZldUdnM1pjb1dhem1uU2kvU1RReVpveVpibE9XY0ZnYllUQ0pTa1BncFNsU2pVOUppa2hYT1Q1cVphWG0yNkJ6MWIvK3ZQRnM4OVdyRmlyUEZ0bkdaZEJOWTM1OSsxZFBTc3hQVHBIVGpsR1RQSktvcVZHWm5LZ2gwY3FReVo4VGF4Q1RrU0pOdEdoOGEwbUkxZjBDU2pWdkhISWNobXlvTU11WS91NmhKcFBRVVpXYTZhb280V3NKTVgyM2E2NDFPdDAzUFRKU2ZKN1VhdjRXUkxSdVBqQ1FtTFlXUm9QL1gwdkJmaUhxMjJuZDNBQUE9In0= -->

<div data-pagedtable="false">
  <script data-pagedtable-source type="application/json">
{"columns":[{"label":[""],"name":["_rn_"],"type":[""],"align":["left"]},{"label":["Barcode_ID"],"name":[1],"type":["chr"],"align":["left"]},{"label":["X"],"name":[2],"type":["int"],"align":["right"]},{"label":["BG_PER_CHANGE"],"name":[3],"type":["dbl"],"align":["right"]},{"label":["CBH_PER_CHANGE"],"name":[4],"type":["dbl"],"align":["right"]},{"label":["PHOS_PER_CHANGE"],"name":[5],"type":["dbl"],"align":["right"]},{"label":["NAG_PER_CHANGE"],"name":[6],"type":["dbl"],"align":["right"]},{"label":["BX_PER_CHANGE"],"name":[7],"type":["dbl"],"align":["right"]},{"label":["AG_PER_CHANGE"],"name":[8],"type":["dbl"],"align":["right"]},{"label":["LAP_PER_CHANGE"],"name":[9],"type":["dbl"],"align":["right"]},{"label":["Lab_ID"],"name":[10],"type":["int"],"align":["right"]},{"label":["Sample_ID"],"name":[11],"type":["chr"],"align":["left"]},{"label":["Time"],"name":[12],"type":["chr"],"align":["left"]},{"label":["Treatment"],"name":[13],"type":["int"],"align":["right"]},{"label":["Herbicide"],"name":[14],"type":["fctr"],"align":["left"]},{"label":["Barcode_ID_base"],"name":[15],"type":["chr"],"align":["left"]},{"label":["Barcode_Genetic"],"name":[16],"type":["chr"],"align":["left"]},{"label":["Barcode_Frozen"],"name":[17],"type":["chr"],"align":["left"]},{"label":["Barcode_K2SO4"],"name":[18],"type":["chr"],"align":["left"]},{"label":["Barcode_Bulk"],"name":[19],"type":["chr"],"align":["left"]},{"label":["XY_Coordinates"],"name":[20],"type":["chr"],"align":["left"]},{"label":["Time.1"],"name":[21],"type":["chr"],"align":["left"]},{"label":["Soil_Temp"],"name":[22],"type":["dbl"],"align":["right"]},{"label":["Corn_Stalks"],"name":[23],"type":["int"],"align":["right"]},{"label":["Cover_Corn"],"name":[24],"type":["chr"],"align":["left"]},{"label":["CLASSCC"],"name":[25],"type":["int"],"align":["right"]},{"label":["Total_Veg_W_Corn"],"name":[26],"type":["int"],"align":["right"]},{"label":["Total_Weed_Veg"],"name":[27],"type":["int"],"align":["right"]},{"label":["Total_Weed_veg.orig"],"name":[28],"type":["int"],"align":["right"]},{"label":["Total_Weed_Veg_PER_CHANGE"],"name":[29],"type":["dbl"],"align":["right"]},{"label":["ClassPW"],"name":[30],"type":["int"],"align":["right"]},{"label":["Cover_Pigweed"],"name":[31],"type":["chr"],"align":["left"]},{"label":["PW_Tot"],"name":[32],"type":["dbl"],"align":["right"]},{"label":["LQ_PW"],"name":[33],"type":["dbl"],"align":["right"]},{"label":["ClassNS"],"name":[34],"type":["int"],"align":["right"]},{"label":["Cover_Night_Shade"],"name":[35],"type":["chr"],"align":["left"]},{"label":["CLASSLQ"],"name":[36],"type":["int"],"align":["right"]},{"label":["Cover_Lambs_quarter"],"name":[37],"type":["chr"],"align":["left"]},{"label":["CLASSFT"],"name":[38],"type":["int"],"align":["right"]},{"label":["Cover_Foxtail"],"name":[39],"type":["chr"],"align":["left"]},{"label":["CLASSU"],"name":[40],"type":["int"],"align":["right"]},{"label":["Unknonw"],"name":[41],"type":["chr"],"align":["left"]},{"label":["Comments"],"name":[42],"type":["chr"],"align":["left"]},{"label":["Tin_Weight"],"name":[43],"type":["dbl"],"align":["right"]},{"label":["Soil_and_Tin"],"name":[44],"type":["dbl"],"align":["right"]},{"label":["Mass_wet_Soil"],"name":[45],"type":["dbl"],"align":["right"]},{"label":["Dry_soil_and_Tin"],"name":[46],"type":["dbl"],"align":["right"]},{"label":["Mass_Dry_Soil"],"name":[47],"type":["dbl"],"align":["right"]},{"label":["Gravimetric_water"],"name":[48],"type":["dbl"],"align":["right"]},{"label":["Mass_H20_Per_gwet_Sample"],"name":[49],"type":["dbl"],"align":["right"]},{"label":["Nmin_weight"],"name":[50],"type":["dbl"],"align":["right"]},{"label":["Nmin_dry_soil"],"name":[51],"type":["dbl"],"align":["right"]},{"label":["Moisture_in_Nmin_Sample"],"name":[52],"type":["dbl"],"align":["right"]},{"label":["NH4.PPM."],"name":[53],"type":["dbl"],"align":["right"]},{"label":["NO3.PPM."],"name":[54],"type":["dbl"],"align":["right"]},{"label":["NO3_mg_kgdrysoil"],"name":[55],"type":["dbl"],"align":["right"]},{"label":["Original_NO3"],"name":[56],"type":["dbl"],"align":["right"]},{"label":["NO3_PER_CHANGE"],"name":[57],"type":["dbl"],"align":["right"]},{"label":["wet_weight_enz"],"name":[58],"type":["dbl"],"align":["right"]},{"label":["gravimetric_moisture_content_ENZ"],"name":[59],"type":["dbl"],"align":["right"]},{"label":["dry_weight_for_ENZ"],"name":[60],"type":["dbl"],"align":["right"]},{"label":["Herbicide_ENZ"],"name":[61],"type":["chr"],"align":["left"]},{"label":["Plate_Number"],"name":[62],"type":["int"],"align":["right"]},{"label":["Enz_Sample_Number"],"name":[63],"type":["int"],"align":["right"]},{"label":["Sample_ID_enz"],"name":[64],"type":["chr"],"align":["left"]},{"label":["BG"],"name":[65],"type":["dbl"],"align":["right"]},{"label":["CBH"],"name":[66],"type":["dbl"],"align":["right"]},{"label":["PHOS"],"name":[67],"type":["dbl"],"align":["right"]},{"label":["NAG"],"name":[68],"type":["dbl"],"align":["right"]},{"label":["BX"],"name":[69],"type":["dbl"],"align":["right"]},{"label":["AG"],"name":[70],"type":["dbl"],"align":["right"]},{"label":["LAP"],"name":[71],"type":["dbl"],"align":["right"]},{"label":["Total_C_Enz"],"name":[72],"type":["dbl"],"align":["right"]},{"label":["Total_N_Enz"],"name":[73],"type":["dbl"],"align":["right"]},{"label":["Total_P_Enz"],"name":[74],"type":["dbl"],"align":["right"]},{"label":["C.N_enz"],"name":[75],"type":["dbl"],"align":["right"]},{"label":["C.P_enz"],"name":[76],"type":["dbl"],"align":["right"]},{"label":["N.P_enz"],"name":[77],"type":["dbl"],"align":["right"]},{"label":["pH"],"name":[78],"type":["dbl"],"align":["right"]},{"label":["EC"],"name":[79],"type":["int"],"align":["right"]},{"label":["BG_T1"],"name":[80],"type":["dbl"],"align":["right"]},{"label":["CBH_T1"],"name":[81],"type":["dbl"],"align":["right"]},{"label":["PHOS_T1"],"name":[82],"type":["dbl"],"align":["right"]},{"label":["NAG_T1"],"name":[83],"type":["dbl"],"align":["right"]},{"label":["BX_T1"],"name":[84],"type":["dbl"],"align":["right"]},{"label":["AG_T1"],"name":[85],"type":["dbl"],"align":["right"]},{"label":["LAP_T1"],"name":[86],"type":["dbl"],"align":["right"]},{"label":["C.N_enz_T1"],"name":[87],"type":["dbl"],"align":["right"]},{"label":["C.P_enz_T1"],"name":[88],"type":["dbl"],"align":["right"]},{"label":["N.P_enz_T1"],"name":[89],"type":["dbl"],"align":["right"]},{"label":["block"],"name":[90],"type":["fctr"],"align":["left"]}],"data":[{"1":"H061","2":"21","3":"-24.970548","4":"-40.951178","5":"-21.527410","6":"-70.5010225","7":"-53.635078","8":"-64.8666667","9":"-21.320983","10":"61","11":"101 S1 _T2","12":"T2","13":"5","14":"Clarity","15":"H061","16":"H061G","17":"H061F","18":"H061K","19":"H061B","20":"2,24","21":"","22":"69.2","23":"5","24":"25-50","25":"3","26":"7","27":"4","28":"4","29":"0.00000","30":"3","31":"25-50","32":"0.7500000","33":"0.0000000","34":"0","35":"0","36":"0","37":"0","38":"1","39":"0-5","40":"0","41":"0","42":"","43":"0.95","44":"6.30","45":"5.35","46":"5.53","47":"4.58","48":"0.1681223","49":"0.1439252","50":"10.37","51":"8.877495","52":"1.492505","53":"-0.67314433","54":"2.35922791","55":"13.6843276","56":"163.373702","57":"-91.62391","58":"0.97","59":"0.1681223","60":"0.8303925","61":"Clarity","62":"2","63":"32","64":"H061","65":"152.85","66":"14.03","67":"103.78","68":"5.77","69":"16.39","70":"10.54","71":"188.5700","72":"193.81","73":"194.3400","74":"103.78","75":"0.9972728","76":"1.867508","77":"1.872615","78":"7.91","79":"758","80":"203.72","81":"23.76","82":"132.25","83":"19.56","84":"35.35","85":"30.00","86":"239.6700","87":"1.1296146","88":"2.2142155","89":"1.960151","90":"1","_rn_":"21"},{"1":"H064","2":"22","3":"46.803029","4":"209.565857","5":"106.612037","6":"389.9082569","7":"280.426248","8":"275.6440281","9":"67.248683","10":"64","11":"102 S1_T2","12":"T2","13":"2","14":"Hand","15":"H064","16":"H064G","17":"H064F","18":"H064K","19":"H064B","20":"4,19","21":"","22":"69.4","23":"3","24":"25.-50","25":"3","26":"6","27":"3","28":"5","29":"-40.00000","30":"1","31":"0-5","32":"0.3333333","33":"1.0000000","34":"1","35":"0-5","36":"1","37":"0-5","38":"0","39":"0","40":"0","41":"0","42":"","43":"0.99","44":"6.50","45":"5.51","46":"5.58","47":"4.59","48":"0.2004357","49":"0.1669691","50":"10.45","51":"8.705172","52":"1.744828","53":"-0.79791473","54":"3.42421994","55":"20.3540679","56":"112.116729","57":"-81.84565","58":"0.97","59":"0.2004357","60":"0.8080399","61":"Handweed","62":"2","63":"22","64":"H064","65":"279.19","66":"42.07","67":"146.24","68":"32.04","69":"67.83","70":"48.12","71":"292.1500","72":"437.21","73":"324.1900","74":"146.24","75":"1.3486227","76":"2.989675","77":"2.216835","78":"7.80","79":"985","80":"190.18","81":"13.59","82":"70.78","83":"6.54","84":"17.83","85":"12.81","86":"174.6800","87":"1.2935106","88":"3.3118112","89":"2.560328","90":"1","_rn_":"22"},{"1":"H067","2":"23","3":"6.485720","4":"-2.897278","5":"-18.254163","6":"28.7089014","7":"22.455917","8":"16.6709413","9":"3.022096","10":"67","11":"103 S1 _T2","12":"T2","13":"1","14":"Non-Treated","15":"H067","16":"H067G","17":"H067F","18":"H067K","19":"H067B","20":"2,19","21":"","22":"68.5","23":"5","24":"25-50","25":"3","26":"10","27":"7","28":"4","29":"75.00000","30":"4","31":"50-75","32":"0.5714286","33":"0.7500000","34":"0","35":"0","36":"3","37":"25-50","38":"0","39":"0","40":"0","41":"0","42":"","43":"1.02","44":"6.27","45":"5.25","46":"5.55","47":"4.53","48":"0.1589404","49":"0.1371429","50":"10.47","51":"9.034114","52":"1.435886","53":"-0.95252153","54":"12.79028600","55":"72.8217142","56":"15.508124","57":"369.57141","58":"1.04","59":"0.1589404","60":"0.8973714","61":"Non-Treated","62":"1","63":"12","64":"H067","65":"232.65","66":"33.18","67":"133.54","68":"32.10","69":"57.64","70":"45.49","71":"271.2061","72":"368.96","73":"303.3061","74":"133.54","75":"1.2164609","76":"2.762917","77":"2.271275","78":"7.63","79":"1117","80":"218.48","81":"34.17","82":"163.36","83":"24.94","84":"47.07","85":"38.99","86":"261.7815","87":"1.1813205","88":"2.0733962","89":"1.755151","90":"1","_rn_":"23"},{"1":"H070","2":"24","3":"-32.117240","4":"-56.464812","5":"-44.723780","6":"-53.1645570","7":"1.103531","8":"-67.2011974","9":"-50.316996","10":"70","11":"104 S1_T2","12":"T2","13":"4","14":"Aatrex","15":"H070","16":"H070G","17":"H070F","18":"H070K","19":"H070B","20":"5,5","21":"","22":"72.2","23":"4","24":"25-50","25":"3","26":"4","27":"1","28":"5","29":"-80.00000","30":"1","31":"0-5","32":"1.0000000","33":"0.0000000","34":"0","35":"0","36":"0","37":"0","38":"0","39":"0","40":"0","41":"0","42":"","43":"1.01","44":"6.17","45":"5.16","46":"5.44","47":"4.43","48":"0.1647856","49":"0.1414729","50":"10.15","51":"8.714050","52":"1.435950","53":"-0.87114953","54":"11.34371767","55":"66.9579431","56":"130.343282","57":"-48.62954","58":"1.02","59":"0.1647856","60":"0.8756977","61":"Aatrex","62":"2","63":"31","64":"H070","65":"164.67","66":"15.96","67":"85.75","68":"10.73","69":"50.39","70":"15.34","71":"220.9900","72":"246.36","73":"231.7200","74":"85.75","75":"1.0631797","76":"2.873003","77":"2.702274","78":"7.65","79":"1133","80":"242.58","81":"36.66","82":"155.13","83":"22.91","84":"49.84","85":"46.77","86":"384.4506","87":"0.9226470","88":"2.4228067","89":"2.625930","90":"1","_rn_":"24"},{"1":"H073","2":"25","3":"-7.513978","4":"-26.964856","5":"5.347513","6":"-42.6796326","7":"-43.461203","8":"-36.4305177","9":"-13.618083","10":"73","11":"105 S1_T2","12":"T2","13":"3","14":"Roundup Powermax","15":"H073","16":"H073G","17":"H073F","18":"H073K","19":"H073B","20":"7,5","21":"","22":"71.7","23":"3","24":"25-50","25":"3","26":"6","27":"3","28":"4","29":"-25.00000","30":"1","31":"0-5","32":"0.3333333","33":"1.0000000","34":"1","35":"0-5","36":"1","37":"0-5","38":"0","39":"0","40":"0","41":"0","42":"","43":"1.03","44":"6.06","45":"5.03","46":"5.15","47":"4.12","48":"0.2208738","49":"0.1809145","50":"10.03","51":"8.215427","52":"1.814573","53":"-0.29069593","54":"0.91147668","55":"5.7486692","56":"123.418835","57":"-95.34215","58":"1.04","59":"0.2208738","60":"0.8518489","61":"Roundup Powermax","62":"3","63":"37","64":"H073","65":"203.46","66":"22.86","67":"140.66","68":"10.61","69":"25.94","70":"23.33","71":"294.2600","72":"275.59","73":"304.8700","74":"140.66","75":"0.9039591","76":"1.959263","77":"2.167425","78":"7.83","79":"817","80":"219.99","81":"31.30","82":"133.52","83":"18.51","84":"45.88","85":"36.70","86":"277.9608","87":"1.1261479","88":"2.5005243","89":"2.220423","90":"1","_rn_":"25"},{"1":"H076","2":"26","3":"76.257138","4":"-21.283873","5":"15.512576","6":"14.6458583","7":"-30.582184","8":"-25.4381006","9":"-28.691213","10":"76","11":"201 S1_T2","12":"T2","13":"3","14":"Roundup Powermax","15":"H076","16":"H076G","17":"H076F","18":"H076K","19":"H076B","20":"10,4","21":"","22":"67.6","23":"NA","24":"25-50","25":"3","26":"4","27":"1","28":"5","29":"-80.00000","30":"1","31":"0-5","32":"1.0000000","33":"0.0000000","34":"0","35":"0","36":"0","37":"0","38":"0","39":"0","40":"0","41":"0","42":"","43":"1.02","44":"6.43","45":"5.41","46":"5.55","47":"4.53","48":"0.1942605","49":"0.1626617","50":"10.36","51":"8.674824","52":"1.685176","53":"0.15685007","54":"21.18038233","55":"126.1941141","56":"93.233456","57":"35.35282","58":"1.04","59":"0.1942605","60":"0.8708318","61":"Roundup Powermax","62":"2","63":"33","64":"H076","65":"287.07","66":"29.92","67":"145.13","68":"19.10","69":"29.69","70":"26.38","71":"230.4700","72":"373.06","73":"249.5700","74":"145.13","75":"1.4948111","76":"2.570523","77":"1.719631","78":"7.72","79":"1048","80":"162.87","81":"38.01","82":"125.64","83":"16.66","84":"42.77","85":"35.38","86":"260.3035","87":"1.0074615","88":"2.2208691","89":"2.204421","90":"2","_rn_":"26"},{"1":"H079","2":"27","3":"51.794800","4":"54.925138","5":"-12.083710","6":"38.1429526","7":"47.668127","8":"45.8107678","9":"-26.973457","10":"79","11":"202_S1_T2","12":"T2","13":"4","14":"Aatrex","15":"H079","16":"H079G","17":"H079F","18":"H079K","19":"H079B","20":"3,14","21":"","22":"68.5","23":"NA","24":"25-50","25":"3","26":"5","27":"2","28":"4","29":"-50.00000","30":"2","31":"5-025","32":"1.0000000","33":"0.0000000","34":"0","35":"0","36":"0","37":"0","38":"0","39":"0","40":"0","41":"0","42":"","43":"0.98","44":"5.61","45":"4.63","46":"4.97","47":"3.99","48":"0.1604010","49":"0.1382289","50":"10.41","51":"8.971037","52":"1.438963","53":"-0.49412593","54":"7.74798128","55":"44.4260945","56":"2.172204","57":"1945.20846","58":"0.97","59":"0.1604010","60":"0.8359179","61":"Aatrex","62":"2","63":"26","64":"H079","65":"325.19","66":"39.32","67":"126.45","68":"20.68","69":"57.31","70":"45.77","71":"254.2200","72":"467.59","73":"274.9000","74":"126.45","75":"1.7009458","76":"3.697825","77":"2.173982","78":"7.60","79":"1011","80":"214.23","81":"25.38","82":"143.83","83":"14.97","84":"38.81","85":"31.39","86":"287.6666","87":"1.0237031","88":"2.1540013","89":"2.104127","90":"2","_rn_":"27"},{"1":"H082","2":"28","3":"133.038019","4":"126.301370","5":"65.157517","6":"105.7103064","7":"154.096045","8":"197.3162194","9":"2.332860","10":"82","11":"203 S1_T2","12":"T2","13":"2","14":"Hand","15":"H082","16":"H082G","17":"H082F","18":"H082K","19":"H082B","20":"2,12","21":"","22":"68.5","23":"NA","24":"25-50","25":"3","26":"5","27":"2","28":"5","29":"-60.00000","30":"1","31":"0-5","32":"0.5000000","33":"1.0000000","34":"0","35":"0","36":"1","37":"0-5","38":"0","39":"0","40":"0","41":"0","42":"","43":"0.95","44":"6.05","45":"5.10","46":"5.13","47":"4.18","48":"0.2200957","49":"0.1803922","50":"10.73","51":"8.794392","52":"1.935608","53":"0.27077087","54":"4.34036118","55":"25.6321633","56":"9.745069","57":"163.02701","58":"1.04","59":"0.2200957","60":"0.8523922","61":"Handweed","62":"2","63":"35","64":"H082","65":"397.19","66":"24.78","67":"175.10","68":"14.77","69":"35.98","70":"25.48","71":"245.2100","72":"483.43","73":"259.9800","74":"175.10","75":"1.8594892","76":"2.760879","77":"1.484752","78":"7.65","79":"1362","80":"170.44","81":"10.95","82":"106.02","83":"7.18","84":"14.16","85":"8.57","86":"239.6200","87":"0.8270665","88":"1.9252971","89":"2.327863","90":"2","_rn_":"28"},{"1":"H085","2":"29","3":"4.365528","4":"87.042254","5":"44.190709","6":"211.6666667","7":"131.309787","8":"168.5194294","9":"24.371801","10":"85","11":"204 S1_T2","12":"T2","13":"5","14":"Clarity","15":"H085","16":"H085G","17":"H085F","18":"H085K","19":"H085B","20":"5,15","21":"","22":"71.1","23":"NA","24":"5-025","25":"2","26":"6","27":"4","28":"5","29":"-20.00000","30":"4","31":"50-75","32":"1.0000000","33":"0.0000000","34":"0","35":"0","36":"0","37":"0","38":"0","39":"0","40":"0","41":"0","42":"","43":"1.02","44":"6.04","45":"5.02","46":"5.29","47":"4.27","48":"0.1756440","49":"0.1494024","50":"10.20","51":"8.676096","52":"1.523904","53":"-0.20389913","54":"5.91392678","55":"35.1204748","56":"15.870446","57":"121.29481","58":"0.96","59":"0.1756440","60":"0.8165737","61":"Clarity","62":"2","63":"23","64":"H085","65":"276.84","66":"46.48","67":"165.43","68":"33.66","69":"62.87","70":"54.59","71":"320.7300","72":"440.78","73":"354.3900","74":"165.43","75":"1.2437710","76":"2.664450","77":"2.142235","78":"7.68","79":"1049","80":"265.26","81":"24.85","82":"114.73","83":"10.80","84":"27.18","85":"20.33","86":"257.8800","87":"1.2565878","88":"2.9427351","89":"2.341846","90":"2","_rn_":"29"},{"1":"H088","2":"30","3":"520.144120","4":"865.344468","5":"-3.376453","6":"960.4501608","7":"634.143763","8":"889.7435897","9":"65.033821","10":"88","11":"205 S1_T2","12":"T2","13":"1","14":"Non-Treated","15":"H088","16":"H088G","17":"H088F","18":"H088K","19":"H088B","20":"3,8","21":"","22":"69.5","23":"NA","24":"5-025","25":"2","26":"12","27":"10","28":"3","29":"233.33333","30":"4","31":"50-75","32":"0.4000000","33":"1.5000000","34":"0","35":"0","36":"6","37":"95-100","38":"0","39":"0","40":"0","41":"0","42":"","43":"1.00","44":"6.05","45":"5.05","46":"5.34","47":"4.34","48":"0.1635945","49":"0.1405941","50":"10.61","51":"9.118297","52":"1.491703","53":"-0.33951913","54":"2.80755234","55":"15.8544574","56":"103.182406","57":"-84.63453","58":"0.98","59":"0.1635945","60":"0.8422178","61":"Non-Treated","62":"2","63":"27","64":"H088","65":"378.66","66":"46.24","67":"132.21","68":"32.98","69":"69.45","70":"54.04","71":"302.5400","72":"548.39","73":"335.5200","74":"132.21","75":"1.6344480","76":"4.147871","77":"2.537781","78":"7.82","79":"892","80":"61.06","81":"4.79","82":"136.83","83":"3.11","84":"9.46","85":"5.46","86":"183.3200","87":"0.4332457","88":"0.5902945","89":"1.362494","90":"2","_rn_":"30"},{"1":"H091","2":"31","3":"-8.285802","4":"22.484472","5":"-20.346062","6":"10.2898551","7":"-34.833204","8":"23.1905465","9":"NA","10":"91","11":"301 S1_T2","12":"T2","13":"1","14":"Non-Treated","15":"H091","16":"H091G","17":"H091F","18":"H091K","19":"H091B","20":"7,9","21":"","22":"71.4","23":"4","24":"25-50","25":"3","26":"9","27":"6","28":"2","29":"200.00000","30":"4","31":"50-75","32":"0.6666667","33":"0.5000000","34":"0","35":"0","36":"2","37":"5-025","38":"0","39":"0","40":"0","41":"0","42":"","43":"1.00","44":"5.91","45":"4.91","46":"5.05","47":"4.05","48":"0.2123457","49":"0.1751527","50":"10.32","51":"8.512424","52":"1.807576","53":"-0.63517073","54":"12.21165867","55":"74.3215407","56":"28.036500","57":"165.08852","58":"1.05","59":"0.2123457","60":"0.8660896","61":"Non-Treated","62":"3","63":"46","64":"H091","65":"149.54","66":"19.72","67":"80.10","68":"7.61","69":"16.80","70":"16.68","71":"243.2900","72":"202.74","73":"250.9000","74":"80.10","75":"0.8080510","76":"2.531086","77":"3.132335","78":"7.88","79":"1103","80":"163.05","81":"16.10","82":"100.56","83":"6.90","84":"25.78","85":"13.54","86":"NA","87":"NA","88":"2.1725338","89":"NA","90":"3","_rn_":"31"},{"1":"H094","2":"32","3":"69.952100","4":"187.214286","5":"49.620371","6":"152.8000000","7":"263.299663","8":"437.9649891","9":"16.314055","10":"94","11":"302 S1_T2","12":"T2","13":"3","14":"Roundup Powermax","15":"H094","16":"H094G","17":"H094F","18":"H094K","19":"H094B","20":"1,4","21":"","22":"74.2","23":"5","24":"25-50","25":"3","26":"5","27":"2","28":"2","29":"0.00000","30":"1","31":"0-5","32":"0.5000000","33":"0.0000000","34":"0","35":"0","36":"0","37":"0","38":"0","39":"0","40":"1","41":"0-5","42":"unknown 0-5","43":"1.03","44":"6.25","45":"5.22","46":"5.36","47":"4.33","48":"0.2055427","49":"0.1704981","50":"10.22","51":"8.477510","52":"1.742490","53":"-0.08455353","54":"18.46681967","55":"112.7122572","56":"91.393336","57":"23.32656","58":"1.04","59":"0.2055427","60":"0.8626820","61":"Roundup Powermax","62":"2","63":"20","64":"H094","65":"276.75","66":"40.21","67":"128.09","68":"15.80","69":"53.95","70":"49.17","71":"243.5500","72":"420.08","73":"259.3500","74":"128.09","75":"1.6197417","76":"3.279569","77":"2.024748","78":"7.77","79":"1469","80":"162.84","81":"14.00","82":"85.61","83":"6.25","84":"14.85","85":"9.14","86":"209.3900","87":"0.9313207","88":"2.3458708","89":"2.518865","90":"3","_rn_":"32"},{"1":"H097","2":"33","3":"40.385611","4":"178.853047","5":"65.704584","6":"175.8034026","7":"381.045752","8":"314.4977169","9":"19.533066","10":"97","11":"303 S1_T2","12":"T2","13":"5","14":"Clarity","15":"H097","16":"H097G","17":"H097F","18":"H097K","19":"H097B","20":"10,26","21":"","22":"73.5","23":"3","24":"25-50","25":"3","26":"5","27":"2","28":"3","29":"-33.33333","30":"2","31":"5-025","32":"1.0000000","33":"0.0000000","34":"0","35":"0","36":"0","37":"0","38":"0","39":"0","40":"0","41":"0","42":"","43":"0.92","44":"5.87","45":"4.95","46":"4.96","47":"4.04","48":"0.2252475","49":"0.1838384","50":"10.23","51":"8.349333","52":"1.880667","53":"-0.70298073","54":"0.87249194","55":"5.4214465","56":"76.249032","57":"-92.88982","58":"0.96","59":"0.2252475","60":"0.7835152","61":"Clarity","62":"2","63":"28","64":"H097","65":"216.98","66":"31.12","67":"136.64","68":"14.59","69":"58.88","70":"36.31","71":"226.3000","72":"343.29","73":"240.8900","74":"136.64","75":"1.4250903","76":"2.512368","77":"1.762954","78":"8.08","79":"689","80":"154.56","81":"11.16","82":"82.46","83":"5.29","84":"12.24","85":"8.76","86":"189.3200","87":"0.9594574","88":"2.2643706","89":"2.360053","90":"3","_rn_":"33"},{"1":"H100","2":"34","3":"45.777630","4":"83.741259","5":"18.713904","6":"140.8119658","7":"138.582376","8":"173.0749354","9":"-9.740875","10":"100","11":"304 S1_T2","12":"T2","13":"1","14":"Aatrex","15":"H100","16":"H100G","17":"H100F","18":"H100K","19":"H100B","20":"4,7","21":"","22":"75.3","23":"4","24":"25-50","25":"3","26":"4","27":"1","28":"4","29":"-75.00000","30":"1","31":"0-5","32":"1.0000000","33":"0.0000000","34":"0","35":"0","36":"0","37":"","38":"0","39":"0","40":"0","41":"0","42":"","43":"1.01","44":"6.06","45":"5.05","46":"5.46","47":"4.45","48":"0.1348315","49":"0.1188119","50":"10.12","51":"8.917624","52":"1.202376","53":"-0.68399393","54":"8.07757948","55":"46.3790887","56":"17.197699","57":"169.68195","58":"1.04","59":"0.1348315","60":"0.9164356","61":"Non-Treated","62":"2","63":"25","64":"H100","65":"306.41","66":"31.53","67":"137.72","68":"22.54","69":"62.27","70":"52.84","71":"228.5000","72":"453.05","73":"251.0400","74":"137.72","75":"1.8046925","76":"3.289646","77":"1.822829","78":"7.87","79":"922","80":"210.19","81":"17.16","82":"116.01","83":"9.36","84":"26.10","85":"19.35","86":"253.1600","87":"1.0391589","88":"2.3515214","89":"2.262908","90":"3","_rn_":"34"},{"1":"H103","2":"35","3":"93.759276","4":"109.957924","5":"25.618145","6":"133.6633663","7":"200.446429","8":"312.4865447","9":"19.306584","10":"103","11":"305 S1_T2","12":"T2","13":"2","14":"Hand","15":"H103","16":"H103G","17":"H103F","18":"H103K","19":"H103B","20":"1,22","21":"","22":"74.3","23":"1","24":"5-025","25":"2","26":"3","27":"1","28":"4","29":"-75.00000","30":"1","31":"0-5","32":"1.0000000","33":"0.0000000","34":"0","35":"0","36":"0","37":"0","38":"0","39":"0","40":"0","41":"0","42":"","43":"1.00","44":"6.27","45":"5.27","46":"5.46","47":"4.46","48":"0.1816144","49":"0.1537002","50":"10.03","51":"8.488387","52":"1.541613","53":"-0.67585673","54":"5.45319811","55":"33.1119002","56":"82.282572","57":"-59.75831","58":"1.01","59":"0.1816144","60":"0.8547628","61":"Handweed","62":"2","63":"29","64":"H103","65":"261.11","66":"29.94","67":"135.14","68":"23.60","69":"47.11","70":"38.32","71":"238.4700","72":"376.48","73":"262.0700","74":"135.14","75":"1.4365627","76":"2.785852","77":"1.939248","78":"7.85","79":"956","80":"134.76","81":"14.26","82":"107.58","83":"10.10","84":"15.68","85":"9.29","86":"199.8800","87":"0.8286027","88":"1.6173081","89":"1.951850","90":"3","_rn_":"35"},{"1":"H106","2":"36","3":"-29.068458","4":"33.540159","5":"11.136290","6":"-1.4338386","7":"24.899800","8":"57.7073808","9":"43.043725","10":"106","11":"401 S1_T2","12":"T2","13":"3","14":"Roundup Powermax","15":"H106","16":"H106G","17":"H106F","18":"H106K","19":"H106B","20":"5,13","21":"","22":"72.8","23":"4","24":"5-025","25":"2","26":"2","27":"0","28":"3","29":"-100.00000","30":"0","31":"0","32":"0.0000000","33":"0.0000000","34":"0","35":"0","36":"0","37":"0","38":"0","39":"0","40":"0","41":"0","42":"","43":"0.99","44":"6.03","45":"5.04","46":"5.39","47":"4.40","48":"0.1454545","49":"0.1269841","50":"10.21","51":"8.913492","52":"1.296508","53":"-0.67856913","54":"20.41220467","55":"117.4707748","56":"85.768959","57":"36.96188","58":"1.02","59":"0.1454545","60":"0.8904762","61":"Roundup Powermax","62":"1","63":"15","64":"H106","65":"182.67","66":"38.74","67":"137.32","68":"24.06","69":"49.86","70":"48.29","71":"238.2364","72":"319.56","73":"262.2964","74":"137.32","75":"1.2183163","76":"2.327119","77":"1.910111","78":"7.63","79":"1502","80":"257.53","81":"29.01","82":"123.56","83":"24.41","84":"39.92","85":"30.62","86":"211.3200","87":"1.5147839","88":"2.8899320","89":"1.907818","90":"4","_rn_":"36"},{"1":"H109","2":"37","3":"112.117267","4":"66.396031","5":"69.284183","6":"211.9935170","7":"182.397661","8":"195.3947368","9":"-12.654256","10":"109","11":"402 S1_T2","12":"T2","13":"2","14":"Hand","15":"H109","16":"H109G","17":"H109F","18":"H109K","19":"H109B","20":"8,12","21":"","22":"73.7","23":"3","24":"25-50","25":"3","26":"5","27":"2","28":"2","29":"0.00000","30":"1","31":"0-5","32":"0.5000000","33":"1.0000000","34":"0","35":"0","36":"1","37":"0-5","38":"0","39":"0","40":"0","41":"0","42":"","43":"1.00","44":"6.02","45":"5.02","46":"5.10","47":"4.10","48":"0.2243902","49":"0.1832669","50":"10.25","51":"8.371514","52":"1.878486","53":"-1.03931833","54":"5.14486431","55":"31.8828557","56":"3.954715","57":"706.19858","58":"0.98","59":"0.2243902","60":"0.8003984","61":"Handweed","62":"2","63":"19","64":"H109","65":"374.79","66":"36.89","67":"165.78","68":"19.25","69":"48.29","70":"40.41","71":"250.5600","72":"500.38","73":"269.8100","74":"165.78","75":"1.8545643","76":"3.018338","77":"1.627518","78":"7.87","79":"1065","80":"176.69","81":"22.17","82":"97.93","83":"6.17","84":"17.10","85":"13.68","86":"286.8600","87":"0.7836740","88":"2.3449403","89":"2.992239","90":"4","_rn_":"37"},{"1":"H112","2":"38","3":"-24.640165","4":"-56.813576","5":"-28.004048","6":"-84.9061146","7":"-65.728625","8":"-64.7178330","9":"-23.597022","10":"112","11":"403 S1_T2","12":"T2","13":"1","14":"Non-Treated","15":"H112","16":"H112G","17":"H112F","18":"H112K","19":"H112B","20":"4,17","21":"","22":"69.6","23":"2","24":"NA","25":"-1","26":"6","27":"7","28":"3","29":"133.33333","30":"2","31":"5-025","32":"0.2857143","33":"2.5000000","34":"0","35":"0","36":"5","37":"75-95","38":"0","39":"0","40":"0","41":"0","42":"","43":"1.03","44":"6.04","45":"5.01","46":"5.22","47":"4.19","48":"0.1957041","49":"0.1636727","50":"10.39","51":"8.689441","52":"1.700559","53":"-0.77350313","54":"1.86660264","55":"11.1059387","56":"27.865658","57":"-60.14471","58":"0.98","59":"0.1957041","60":"0.8196008","61":"Non-Treated","62":"3","63":"54","64":"H112","65":"197.91","66":"17.05","67":"113.84","68":"6.27","69":"19.12","70":"15.63","71":"186.7900","72":"249.71","73":"193.0600","74":"113.84","75":"1.2934321","76":"2.193517","77":"1.695889","78":"7.79","79":"805","80":"262.62","81":"39.48","82":"158.12","83":"41.54","84":"55.79","85":"44.30","86":"244.4800","87":"1.4061604","88":"2.5435745","89":"1.808879","90":"4","_rn_":"38"},{"1":"H115","2":"39","3":"-5.139771","4":"59.789947","5":"9.738252","6":"59.3692022","7":"63.576555","8":"110.1449275","9":"35.271017","10":"115","11":"404 S1_T2","12":"T2","13":"5","14":"Clarity","15":"H115","16":"H115G","17":"H115F","18":"H115K","19":"H115B","20":"8,23","21":"","22":"76.7","23":"1","24":"5-025","25":"2","26":"4","27":"2","28":"2","29":"0.00000","30":"2","31":"5-025","32":"1.0000000","33":"0.0000000","34":"0","35":"0","36":"0","37":"0","38":"0","39":"0","40":"0","41":"0","42":"","43":"1.04","44":"6.02","45":"4.98","46":"5.30","47":"4.26","48":"0.1690141","49":"0.1445783","50":"10.12","51":"8.656867","52":"1.463133","53":"-0.88471153","54":"7.15435011","55":"42.5310043","56":"37.941849","57":"12.09523","58":"1.05","59":"0.1690141","60":"0.8981928","61":"Clarity","62":"1","63":"16","64":"H115","65":"149.31","66":"21.30","67":"106.49","68":"8.59","69":"27.35","70":"21.75","71":"198.3005","72":"219.71","73":"206.8905","74":"106.49","75":"1.0619629","76":"2.063198","77":"1.942816","78":"7.75","79":"1031","80":"157.40","81":"13.33","82":"97.04","83":"5.39","84":"16.72","85":"10.35","86":"193.5300","87":"0.9943696","88":"2.0383347","89":"2.049876","90":"4","_rn_":"39"},{"1":"H118","2":"40","3":"-24.516908","4":"-44.418960","5":"-13.193588","6":"-22.8406910","7":"-53.492916","8":"-35.1480420","9":"-37.768625","10":"118","11":"405 S1_T2","12":"T2","13":"4","14":"Aatrex","15":"H118","16":"H118G","17":"H118F","18":"H118K","19":"H118B","20":"10,11","21":"","22":"82.4","23":"4","24":"25-50","25":"3","26":"3","27":"0","28":"3","29":"-100.00000","30":"0","31":"0","32":"0.0000000","33":"0.0000000","34":"0","35":"0","36":"0","37":"0","38":"0","39":"0","40":"0","41":"0","42":"","43":"0.99","44":"6.13","45":"5.14","46":"5.48","47":"4.49","48":"0.1447661","49":"0.1264591","50":"10.81","51":"9.442977","52":"1.367023","53":"-0.82775113","54":"12.74040433","55":"69.3040628","56":"35.543874","57":"94.98174","58":"1.04","59":"0.1447661","60":"0.9084825","61":"Aatrex","62":"2","63":"34","64":"H118","65":"143.75","66":"7.27","67":"91.52","68":"4.02","69":"9.52","70":"6.79","71":"152.6100","72":"167.33","73":"156.6300","74":"91.52","75":"1.0683139","76":"1.828344","77":"1.711429","78":"7.42","79":"1059","80":"190.44","81":"13.08","82":"105.43","83":"5.21","84":"20.47","85":"10.47","86":"245.2300","87":"0.9361923","88":"2.2238452","89":"2.375415","90":"4","_rn_":"40"},{"1":"H121","2":"41","3":"13.651090","4":"47.011785","5":"7.576560","6":"-8.8445808","7":"166.874116","8":"-12.1333333","9":"25.702007","10":"121","11":"101 S1 _T3","12":"T3","13":"5","14":"Clarity","15":"H121","16":"H121G","17":"H121F","18":"H121K","19":"H121B","20":"9,11","21":"","22":"63.8","23":"5","24":"25-50","25":"3","26":"6","27":"3","28":"4","29":"-25.00000","30":"2","31":"5-025","32":"0.6666667","33":"0.5000000","34":"0","35":"0","36":"1","37":"0-5","38":"0","39":"0","40":"0","41":"0","42":"","43":"0.95","44":"5.98","45":"5.03","46":"5.16","47":"4.21","48":"0.1947743","49":"0.1630219","50":"10.55","51":"8.830119","52":"1.719881","53":"-0.76536593","54":"4.40238234","55":"25.7856867","56":"163.373702","57":"-84.21675","58":"1.00","59":"0.1947743","60":"0.8369781","61":"Clarity","62":"3","63":"43","64":"H121","65":"231.53","66":"34.93","67":"142.27","68":"17.83","69":"94.34","70":"26.36","71":"301.2700","72":"387.16","73":"319.1000","74":"142.27","75":"1.2132874","76":"2.721305","77":"2.242918","78":"7.79","79":"1089","80":"203.72","81":"23.76","82":"132.25","83":"19.56","84":"35.35","85":"30.00","86":"239.6700","87":"1.1296146","88":"2.2142155","89":"1.960151","90":"1","_rn_":"41"},{"1":"H124","2":"42","3":"59.748659","4":"244.591611","5":"112.263351","6":"292.9663609","7":"252.776220","8":"355.7377049","9":"109.045111","10":"124","11":"102 S1_T3","12":"T3","13":"2","14":"Hand","15":"H124","16":"H124G","17":"H124F","18":"H124K","19":"H124B","20":"10,4","21":"","22":"67.0","23":"3","24":"25.-50","25":"3","26":"8","27":"5","28":"5","29":"0.00000","30":"3","31":"25-50","32":"0.6000000","33":"0.3333333","34":"0","35":"0","36":"1","37":"0-5","38":"0","39":"0","40":"1","41":"0-5","42":"","43":"0.99","44":"5.86","45":"4.87","46":"4.96","47":"3.97","48":"0.2267003","49":"0.1848049","50":"10.58","51":"8.624764","52":"1.955236","53":"-0.55922353","54":"1.04615121","55":"6.3019735","56":"112.116729","57":"-94.37910","58":"1.01","59":"0.2267003","60":"0.8233470","61":"Handweed","62":"1","63":"4","64":"H124","65":"303.81","66":"46.83","67":"150.24","68":"25.70","69":"62.90","70":"58.38","71":"295.9021","72":"471.92","73":"321.6021","74":"150.24","75":"1.4674035","76":"3.141108","77":"2.140589","78":"8.07","79":"746","80":"190.18","81":"13.59","82":"70.78","83":"6.54","84":"17.83","85":"12.81","86":"174.6800","87":"1.2935106","88":"3.3118112","89":"2.560328","90":"1","_rn_":"42"},{"1":"H130","2":"44","3":"-6.925550","4":"-42.935079","5":"-37.284858","6":"-37.0580533","7":"-50.000000","8":"-60.6157793","9":"-27.268435","10":"130","11":"104 S1_T3","12":"T3","13":"4","14":"Aatrex","15":"H130","16":"H130G","17":"H130F","18":"H130K","19":"H130B","20":"4,13","21":"","22":"70.1","23":"4","24":"25-50","25":"3","26":"5","27":"2","28":"5","29":"-60.00000","30":"2","31":"5-025","32":"1.0000000","33":"0.0000000","34":"0","35":"0","36":"0","37":"0","38":"0","39":"0","40":"0","41":"0","42":"","43":"1.02","44":"5.99","45":"4.97","46":"5.18","47":"4.16","48":"0.1947115","49":"0.1629779","50":"10.52","51":"8.805473","52":"1.714527","53":"-0.80062713","54":"0.28772094","55":"1.6897846","56":"130.343282","57":"-98.70359","58":"0.99","59":"0.1947115","60":"0.8286519","61":"Aatrex","62":"1","63":"8","64":"H130","65":"225.78","66":"20.92","67":"97.29","68":"14.42","69":"24.92","70":"18.42","71":"254.6872","72":"290.04","73":"269.1072","74":"97.29","75":"1.0777863","76":"2.981190","77":"2.766031","78":"8.01","79":"612","80":"242.58","81":"36.66","82":"155.13","83":"22.91","84":"49.84","85":"46.77","86":"384.4506","87":"0.9226470","88":"2.4228067","89":"2.625930","90":"1","_rn_":"44"},{"1":"H133","2":"45","3":"-14.509750","4":"-29.648562","5":"-17.645297","6":"-4.0518639","7":"-19.049695","8":"0.5722071","9":"-17.516513","10":"133","11":"105 S1_T3","12":"T3","13":"3","14":"Roundup Powermax","15":"H133","16":"H133G","17":"H133F","18":"H133K","19":"H133B","20":"3,14","21":"","22":"70.2","23":"3","24":"25-50","25":"3","26":"6","27":"3","28":"4","29":"-25.00000","30":"1","31":"0-5","32":"0.3333333","33":"2.0000000","34":"0","35":"0","36":"2","37":"5-025","38":"0","39":"0","40":"0","41":"0","42":"","43":"1.02","44":"6.21","45":"5.19","46":"5.30","47":"4.28","48":"0.2126168","49":"0.1753372","50":"10.74","51":"8.856879","52":"1.883121","53":"-0.87928673","54":"0.81224281","55":"4.7580750","56":"123.418835","57":"-96.14477","58":"0.97","59":"0.2126168","60":"0.7999229","61":"Roundup Powermax","62":"1","63":"5","64":"H133","65":"188.07","66":"22.02","67":"109.96","68":"17.76","69":"37.14","70":"36.91","71":"209.6851","72":"284.14","73":"227.4451","74":"109.96","75":"1.2492687","76":"2.584031","77":"2.068435","78":"8.16","79":"634","80":"219.99","81":"31.30","82":"133.52","83":"18.51","84":"45.88","85":"36.70","86":"277.9608","87":"1.1261479","88":"2.5005243","89":"2.220423","90":"1","_rn_":"45"},{"1":"H136","2":"46","3":"45.459569","4":"-64.325178","5":"-20.654250","6":"-52.4009604","7":"-47.322890","8":"-52.7133974","9":"-11.287129","10":"136","11":"201 S1_T3","12":"T3","13":"3","14":"Roundup Powermax","15":"H136","16":"H136G","17":"H136F","18":"H136K","19":"H136B","20":"10,15","21":"","22":"68.0","23":"NA","24":"25-50","25":"3","26":"4","27":"1","28":"5","29":"-80.00000","30":"1","31":"0-5","32":"1.0000000","33":"0.0000000","34":"0","35":"0","36":"0","37":"0","38":"0","39":"0","40":"0","41":"0","42":"","43":"1.01","44":"6.07","45":"5.06","46":"5.27","47":"4.26","48":"0.1877934","49":"0.1581028","50":"10.35","51":"8.713636","52":"1.636364","53":"-0.91454793","54":"7.52470508","55":"44.5908449","56":"93.233456","57":"-52.17291","58":"0.98","59":"0.1877934","60":"0.8250593","61":"Roundup Powermax","62":"1","63":"10","64":"H136","65":"236.91","66":"13.56","67":"99.69","68":"7.93","69":"22.53","70":"16.73","71":"217.6001","72":"289.73","73":"225.5301","74":"99.69","75":"1.2846622","76":"2.906310","77":"2.262314","78":"7.92","79":"936","80":"162.87","81":"38.01","82":"125.64","83":"16.66","84":"42.77","85":"35.38","86":"260.3035","87":"1.0074615","88":"2.2208691","89":"2.204421","90":"2","_rn_":"46"},{"1":"H139","2":"47","3":"11.146898","4":"66.154452","5":"-1.258430","6":"74.3486974","7":"45.993301","8":"132.8767123","9":"-2.970240","10":"139","11":"202 S1_T3","12":"T3","13":"4","14":"Aatrex","15":"H139","16":"H139G","17":"H139F","18":"H139K","19":"H139B","20":"9,16","21":"","22":"68.0","23":"NA","24":"25-50","25":"3","26":"4","27":"1","28":"4","29":"-75.00000","30":"1","31":"0-5","32":"1.0000000","33":"0.0000000","34":"0","35":"0","36":"0","37":"0","38":"0","39":"0","40":"0","41":"0","42":"","43":"0.98","44":"6.18","45":"5.20","46":"5.37","47":"4.39","48":"0.1845103","49":"0.1557692","50":"10.85","51":"9.159904","52":"1.690096","53":"-0.50768793","54":"5.88557424","55":"33.2127830","56":"2.172204","57":"1428.99024","58":"1.05","59":"0.1845103","60":"0.8864423","61":"Aatrex","62":"1","63":"3","64":"H139","65":"238.11","66":"42.17","67":"142.02","68":"26.10","69":"56.66","70":"73.10","71":"273.4469","72":"410.04","73":"299.5469","74":"142.02","75":"1.3688676","76":"2.887199","77":"2.109188","78":"8.00","79":"693","80":"214.23","81":"25.38","82":"143.83","83":"14.97","84":"38.81","85":"31.39","86":"287.6666","87":"1.0237031","88":"2.1540013","89":"2.104127","90":"2","_rn_":"47"},{"1":"H142","2":"48","3":"42.519362","4":"203.196347","5":"29.136012","6":"446.7966574","7":"202.824859","8":"331.1551925","9":"31.345464","10":"142","11":"203 S1_T3","12":"T3","13":"2","14":"Hand","15":"H142","16":"H142G","17":"H142F","18":"H142K","19":"H142B","20":"1,22","21":"","22":"68.2","23":"NA","24":"25-50","25":"3","26":"7","27":"4","28":"5","29":"-20.00000","30":"2","31":"5-025","32":"0.5000000","33":"1.0000000","34":"0","35":"0","36":"2","37":"5-025","38":"0","39":"0","40":"0","41":"0","42":"","43":"0.96","44":"6.21","45":"5.25","46":"5.28","47":"4.32","48":"0.2152778","49":"0.1771429","50":"10.20","51":"8.393143","52":"1.806857","53":"-0.71654273","54":"1.19145794","55":"7.3543001","56":"9.745069","57":"-24.53311","58":"0.96","59":"0.2152778","60":"0.7899429","61":"Handweed","62":"1","63":"6","64":"H142","65":"242.91","66":"33.20","67":"136.91","68":"39.26","69":"42.88","70":"36.95","71":"242.5421","72":"355.94","73":"281.8021","74":"136.91","75":"1.2630850","76":"2.599810","77":"2.058302","78":"7.89","79":"567","80":"170.44","81":"10.95","82":"106.02","83":"7.18","84":"14.16","85":"8.57","86":"239.6200","87":"0.8270665","88":"1.9252971","89":"2.327863","90":"2","_rn_":"48"},{"1":"H145","2":"49","3":"-24.074493","4":"-45.553320","5":"7.304105","6":"-26.3888889","7":"-21.780721","8":"-4.2793901","9":"25.678610","10":"145","11":"204 S1_T3","12":"T3","13":"5","14":"Clarity","15":"H145","16":"H145G","17":"H145F","18":"H145K","19":"H145B","20":"10,20","21":"","22":"69.3","23":"NA","24":"5-025","25":"3","26":"5","27":"2","28":"5","29":"-60.00000","30":"2","31":"5-025","32":"1.0000000","33":"0.0000000","34":"0","35":"0","36":"0","37":"","38":"0","39":"0","40":"0","41":"0","42":"","43":"1.01","44":"6.39","45":"5.38","46":"5.50","47":"4.49","48":"0.1982183","49":"0.1654275","50":"10.49","51":"8.754665","52":"1.735335","53":"0.53387367","54":"14.07723300","55":"83.1888283","56":"15.870446","57":"424.17447","58":"0.98","59":"0.1982183","60":"0.8178810","61":"Clarity","62":"1","63":"9","64":"H145","65":"201.40","66":"13.53","67":"123.11","68":"7.95","69":"21.26","70":"19.46","71":"254.3785","72":"255.65","73":"262.3285","74":"123.11","75":"0.9745414","76":"2.076598","77":"2.130846","78":"8.09","79":"883","80":"265.26","81":"24.85","82":"114.73","83":"10.80","84":"27.18","85":"20.33","86":"257.8800","87":"1.2565878","88":"2.9427351","89":"2.341846","90":"2","_rn_":"49"},{"1":"H148","2":"50","3":"575.401245","4":"701.043841","5":"15.786012","6":"743.4083601","7":"303.065539","8":"282.0512821","9":"86.340825","10":"148","11":"205 S1_T3","12":"T3","13":"1","14":"Non-Treated","15":"H148","16":"H148G","17":"H148F","18":"H148K","19":"H148B","20":"8,10","21":"","22":"64.8","23":"NA","24":"5-025","25":"3","26":"9","27":"6","28":"3","29":"100.00000","30":"3","31":"25-50","32":"0.5000000","33":"1.0000000","34":"0","35":"0","36":"3","37":"25-50","38":"0","39":"0","40":"0","41":"0","42":"","43":"1.01","44":"6.67","45":"5.66","46":"5.70","47":"4.69","48":"0.2068230","49":"0.1713781","50":"10.93","51":"9.056837","52":"1.873163","53":"-0.61347153","54":"1.44131464","55":"8.2551497","56":"103.182406","57":"-91.99946","58":"1.05","59":"0.2068230","60":"0.8700530","61":"Non-Treated","62":"3","63":"44","64":"H148","65":"412.40","66":"38.37","67":"158.43","68":"26.23","69":"38.13","70":"20.86","71":"341.6000","72":"509.76","73":"367.8300","74":"158.43","75":"1.3858576","76":"3.217572","77":"2.321719","78":"7.80","79":"1010","80":"61.06","81":"4.79","82":"136.83","83":"3.11","84":"9.46","85":"5.46","86":"183.3200","87":"0.4332457","88":"0.5902945","89":"1.362494","90":"2","_rn_":"50"},{"1":"H151","2":"51","3":"30.665440","4":"-38.012422","5":"-15.513126","6":"-18.8405797","7":"-45.073701","8":"-32.1270310","9":"NA","10":"151","11":"301 S1_T3","12":"T3","13":"1","14":"Non-Treated","15":"H151","16":"H151G","17":"H151F","18":"H151K","19":"H151B","20":"6,13","21":"","22":"65.4","23":"4","24":"25-50","25":"3","26":"9","27":"6","28":"2","29":"200.00000","30":"4","31":"50-75","32":"0.6666667","33":"0.5000000","34":"0","35":"0","36":"2","37":"5-025","38":"0","39":"0","40":"0","41":"0","42":"","43":"1.00","44":"4.49","45":"3.49","46":"3.86","47":"2.86","48":"0.2202797","49":"0.1805158","50":"10.59","51":"8.678338","52":"1.911662","53":"-0.66500713","54":"0.98058598","55":"5.8656216","56":"28.036500","57":"-79.07862","58":"1.04","59":"0.2202797","60":"0.8522636","61":"Non-Treated","62":"3","63":"48","64":"H151","65":"213.05","66":"9.98","67":"84.96","68":"5.60","69":"14.16","70":"9.19","71":"197.8100","72":"246.38","73":"203.4100","74":"84.96","75":"1.2112482","76":"2.899953","77":"2.394185","78":"8.26","79":"486","80":"163.05","81":"16.10","82":"100.56","83":"6.90","84":"25.78","85":"13.54","86":"NA","87":"NA","88":"2.1725338","89":"NA","90":"3","_rn_":"51"},{"1":"H157","2":"53","3":"-12.661749","4":"-11.200717","5":"4.390007","6":"-0.3780718","7":"-5.473856","8":"-4.5662100","9":"-8.784069","10":"157","11":"303 S1_T3","12":"T3","13":"5","14":"Clarity","15":"H157","16":"H157G","17":"H157F","18":"H157K","19":"H157B","20":"5,12","21":"","22":"75.8","23":"3","24":"25-50","25":"3","26":"6","27":"3","28":"3","29":"0.00000","30":"2","31":"5-025","32":"0.6666667","33":"0.0000000","34":"0","35":"0","36":"0","37":"0","38":"1","39":"0-5","40":"0","41":"0","42":"","43":"1.08","44":"3.41","45":"2.33","46":"3.01","47":"1.93","48":"0.2072539","49":"0.1716738","50":"10.79","51":"8.937639","52":"1.852361","53":"-0.97422073","54":"2.98475568","55":"17.3162755","56":"76.249032","57":"-77.28984","58":"1.00","59":"0.2072539","60":"0.8283262","61":"Clarity","62":"3","63":"51","64":"H157","65":"134.99","66":"9.91","67":"86.08","68":"5.27","69":"11.57","70":"8.36","71":"172.6900","72":"164.83","73":"177.9600","74":"86.08","75":"0.9262194","76":"1.914847","77":"2.067379","78":"8.11","79":"614","80":"154.56","81":"11.16","82":"82.46","83":"5.29","84":"12.24","85":"8.76","86":"189.3200","87":"0.9594574","88":"2.2643706","89":"2.360053","90":"3","_rn_":"53"},{"1":"H160","2":"54","3":"10.304962","4":"63.344988","5":"-6.025343","6":"-0.4273504","7":"-27.279693","8":"-15.8139535","9":"-9.172065","10":"160","11":"304 S1_T3","12":"T3","13":"1","14":"Aatrex","15":"H160","16":"H160G","17":"H160F","18":"H160K","19":"H160B","20":"4,13","21":"","22":"78.5","23":"4","24":"25-50","25":"3","26":"7","27":"4","28":"4","29":"0.00000","30":"2","31":"5-025","32":"0.5000000","33":"1.0000000","34":"0","35":"0","36":"2","37":"5-025","38":"0","39":"0","40":"0","41":"0","42":"","43":"1.00","44":"4.16","45":"3.16","46":"3.60","47":"2.60","48":"0.2153846","49":"0.1772152","50":"11.01","51":"9.058861","52":"1.951139","53":"-0.62703353","54":"1.45549091","55":"8.3470111","56":"17.197699","57":"-51.46437","58":"1.00","59":"0.2153846","60":"0.8227848","61":"Non-Treated","62":"2","63":"36","64":"H160","65":"231.85","66":"28.03","67":"109.02","68":"9.32","69":"18.98","70":"16.29","71":"229.9400","72":"295.15","73":"239.2600","74":"109.02","75":"1.2335953","76":"2.707301","77":"2.194643","78":"8.06","79":"364","80":"210.19","81":"17.16","82":"116.01","83":"9.36","84":"26.10","85":"19.35","86":"253.1600","87":"1.0391589","88":"2.3515214","89":"2.262908","90":"3","_rn_":"54"},{"1":"H163","2":"55","3":"71.208074","4":"23.001403","5":"13.952408","6":"91.0891089","7":"55.548469","8":"146.0710441","9":"23.794277","10":"163","11":"305 S1_T3","12":"T3","13":"2","14":"Hand","15":"H163","16":"H163G","17":"H163F","18":"H163K","19":"H163B","20":"7,4","21":"","22":"70.4","23":"1","24":"5-025","25":"3","26":"8","27":"5","28":"4","29":"25.00000","30":"2","31":"5-025","32":"0.4000000","33":"1.0000000","34":"1","35":"0-5","36":"2","37":"5-025","38":"0","39":"0","40":"0","41":"0","42":"all of 305 has only two rows. Looks like the sprayer jammed","43":"1.03","44":"3.47","45":"2.44","46":"3.07","47":"2.04","48":"0.1960784","49":"0.1639344","50":"10.38","51":"8.678361","52":"1.701639","53":"-0.80605193","54":"0.27354468","55":"1.6296521","56":"82.282572","57":"-98.01944","58":"0.95","59":"0.1960784","60":"0.7942623","61":"Handweed","62":"4","63":"55","64":"H163","65":"230.72","66":"17.54","67":"122.59","68":"19.30","69":"24.39","70":"22.86","71":"247.4400","72":"295.51","73":"266.7400","74":"122.59","75":"1.1078578","76":"2.410556","77":"2.175871","78":"8.22","79":"644","80":"134.76","81":"14.26","82":"107.58","83":"10.10","84":"15.68","85":"9.29","86":"199.8800","87":"0.8286027","88":"1.6173081","89":"1.951850","90":"3","_rn_":"55"},{"1":"H166","2":"56","3":"-23.733157","4":"-52.016546","5":"-14.268372","6":"-68.7832855","7":"-47.269539","8":"-45.9503592","9":"2.933939","10":"166","11":"401 S1_T3","12":"T3","13":"3","14":"Roundup Powermax","15":"H166","16":"H166G","17":"H166F","18":"H166K","19":"H166B","20":"7,9","21":"","22":"69.6","23":"4","24":"5-025","25":"3","26":"7","27":"4","28":"3","29":"33.33333","30":"2","31":"5-025","32":"0.5000000","33":"1.0000000","34":"0","35":"0","36":"2","37":"5-025","38":"0","39":"0","40":"0","41":"0","42":"","43":"0.99","44":"6.33","45":"5.34","46":"5.55","47":"4.56","48":"0.1710526","49":"0.1460674","50":"10.31","51":"8.804045","52":"1.505955","53":"-0.92539753","54":"23.45498633","55":"137.2177766","56":"85.768959","57":"59.98536","58":"0.97","59":"0.1710526","60":"0.8283146","61":"Roundup Powermax","62":"3","63":"40","64":"H166","65":"196.41","66":"13.92","67":"105.93","68":"7.62","69":"21.05","70":"16.55","71":"217.5200","72":"247.93","73":"225.1400","74":"105.93","75":"1.1012259","76":"2.340508","77":"2.125366","78":"7.73","79":"1485","80":"257.53","81":"29.01","82":"123.56","83":"24.41","84":"39.92","85":"30.62","86":"211.3200","87":"1.5147839","88":"2.8899320","89":"1.907818","90":"4","_rn_":"56"},{"1":"H169","2":"57","3":"-4.267361","4":"-41.542625","5":"8.383539","6":"94.0032415","7":"-24.444444","8":"-62.2807017","9":"-16.311093","10":"169","11":"402 S1_T3","12":"T3","13":"2","14":"Hand","15":"H169","16":"H169G","17":"H169F","18":"H169K","19":"H169B","20":"1,8","21":"","22":"NA","23":"3","24":"25-50","25":"3","26":"5","27":"2","28":"2","29":"0.00000","30":"1","31":"0-5","32":"0.5000000","33":"1.0000000","34":"0","35":"0","36":"1","37":"0-5","38":"0","39":"0","40":"0","41":"0","42":"","43":"1.01","44":"6.32","45":"5.31","46":"5.30","47":"4.29","48":"0.2377622","49":"0.1920904","50":"10.39","51":"8.394181","52":"1.995819","53":"-0.75180393","54":"0.27000061","55":"1.6724566","56":"3.954715","57":"-57.70981","58":"1.05","59":"0.2377622","60":"0.8483051","61":"Handweed","62":"3","63":"39","64":"H169","65":"169.15","66":"12.96","67":"106.14","68":"11.97","69":"12.92","70":"5.16","71":"240.0700","72":"200.19","73":"252.0400","74":"106.14","75":"0.7942787","76":"1.886094","77":"2.374600","78":"8.19","79":"768","80":"176.69","81":"22.17","82":"97.93","83":"6.17","84":"17.10","85":"13.68","86":"286.8600","87":"0.7836740","88":"2.3449403","89":"2.992239","90":"4","_rn_":"57"},{"1":"H172","2":"58","3":"13.510014","4":"32.548126","5":"20.743739","6":"-31.1988445","7":"34.970425","8":"52.4379232","9":"64.778305","10":"172","11":"403 S1_T3","12":"T3","13":"1","14":"Non-Treated","15":"H172","16":"H172G","17":"H172F","18":"H172K","19":"H172B","20":"7,21","21":"","22":"NA","23":"2","24":"NA","25":"NA","26":"NA","27":"6","28":"3","29":"100.00000","30":"3","31":"25-50","32":"0.5000000","33":"1.0000000","34":"0","35":"0","36":"3","37":"25-50","38":"0","39":"0","40":"0","41":"0","42":"","43":"1.05","44":"6.34","45":"5.29","46":"5.35","47":"4.30","48":"0.2302326","49":"0.1871456","50":"10.81","51":"8.786957","52":"2.023043","53":"-0.83317593","54":"-0.08440606","55":"-0.4997248","56":"27.865658","57":"-101.79334","58":"1.01","59":"0.2302326","60":"0.8209830","61":"Non-Treated","62":"1","63":"2","64":"H172","65":"298.10","66":"52.33","67":"190.92","68":"28.58","69":"75.30","70":"67.53","71":"333.3903","72":"493.26","73":"361.9703","74":"190.92","75":"1.3627086","76":"2.583595","77":"1.895926","78":"8.22","79":"619","80":"262.62","81":"39.48","82":"158.12","83":"41.54","84":"55.79","85":"44.30","86":"244.4800","87":"1.4061604","88":"2.5435745","89":"1.808879","90":"4","_rn_":"58"},{"1":"H175","2":"59","3":"62.738247","4":"112.678169","5":"33.965375","6":"241.3729128","7":"200.239234","8":"351.4009662","9":"50.886168","10":"175","11":"404 S1_T3","12":"T3","13":"5","14":"Clarity","15":"H175","16":"H175G","17":"H175F","18":"H175K","19":"H175B","20":"6,11","21":"","22":"NA","23":"1","24":"5-025","25":"3","26":"5","27":"2","28":"2","29":"0.00000","30":"1","31":"0-5","32":"0.5000000","33":"1.0000000","34":"0","35":"0","36":"1","37":"0-5","38":"0","39":"0","40":"0","41":"0","42":"","43":"1.03","44":"6.03","45":"5.00","46":"5.28","47":"4.25","48":"0.1764706","49":"0.1500000","50":"10.78","51":"9.163000","52":"1.617000","53":"-0.73552953","54":"2.04912208","55":"11.5431119","56":"37.941849","57":"-69.57683","58":"1.04","59":"0.1764706","60":"0.8840000","61":"Clarity","62":"1","63":"1","64":"H175","65":"256.15","66":"28.35","67":"130.00","68":"18.40","69":"50.20","70":"46.72","71":"227.4978","72":"381.42","73":"245.8978","74":"130.00","75":"1.5511323","76":"2.934000","77":"1.891521","78":"8.22","79":"577","80":"157.40","81":"13.33","82":"97.04","83":"5.39","84":"16.72","85":"10.35","86":"193.5300","87":"0.9943696","88":"2.0383347","89":"2.049876","90":"4","_rn_":"59"},{"1":"H178","2":"60","3":"-3.738710","4":"-13.226300","5":"2.541971","6":"71.9769674","7":"29.018075","8":"124.9283668","9":"34.204624","10":"178","11":"405 S1_T3","12":"T3","13":"4","14":"Aatrex","15":"H178","16":"H178G","17":"H178F","18":"H178K","19":"H178B","20":"10,14","21":"","22":"NA","23":"4","24":"25-50","25":"3","26":"5","27":"2","28":"3","29":"-33.33333","30":"0","31":"0","32":"0.0000000","33":"0.0000000","34":"0","35":"0","36":"1","37":"0-5","38":"1","39":"0-5","40":"0","41":"0","42":"","43":"1.00","44":"6.19","45":"5.19","46":"5.13","47":"4.13","48":"0.2566586","49":"0.2042389","50":"10.60","51":"8.435067","52":"2.164933","53":"-0.94438433","54":"-0.05782556","55":"0.0000000","56":"35.543874","57":"-100.00000","58":"1.03","59":"0.2566586","60":"0.8196339","61":"Aatrex","62":"1","63":"7","64":"H178","65":"183.32","66":"11.35","67":"108.11","68":"8.96","69":"26.41","70":"23.55","71":"259.5348","72":"244.63","73":"268.4948","74":"108.11","75":"0.9111163","76":"2.262788","77":"2.483534","78":"8.25","79":"589","80":"190.44","81":"13.08","82":"105.43","83":"5.21","84":"20.47","85":"10.47","86":"245.2300","87":"0.9361923","88":"2.2238452","89":"2.375415","90":"4","_rn_":"60"}],"options":{"columns":{"min":{},"max":[10],"total":[90]},"rows":{"min":[10],"max":[10],"total":[38]},"pages":{}}}
  </script>
</div>

<!-- rnb-frame-end -->

<!-- rnb-chunk-end -->


<!-- rnb-text-begin -->




Weed cover

<!-- rnb-text-end -->


<!-- rnb-chunk-begin -->


<!-- rnb-source-begin eyJkYXRhIjoiYGBgclxuYGBgclxuc3VtbWFyeShnbGh0KHQzX21vZCwgbWNwKEhlcmJpY2lkZSA9IFxcVHVrZXlcXCkpKVxuXG5gYGBcbmBgYCJ9 -->

```r
```r
summary(glht(t3_mod, mcp(Herbicide = \Tukey\)))

<!-- rnb-source-end -->

<!-- rnb-output-begin eyJkYXRhIjoiXG5cdCBTaW11bHRhbmVvdXMgVGVzdHMgZm9yIEdlbmVyYWwgTGluZWFyIEh5cG90aGVzZXNcblxuTXVsdGlwbGUgQ29tcGFyaXNvbnMgb2YgTWVhbnM6IFR1a2V5IENvbnRyYXN0c1xuXG5cbkZpdDogZ2xtKGZvcm11bGEgPSBOTzNfbWdfa2dkcnlzb2lsIH4gSGVyYmljaWRlLCBkYXRhID0gVGltZTMpXG5cbkxpbmVhciBIeXBvdGhlc2VzOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRXN0aW1hdGUgU3RkLiBFcnJvciB6IHZhbHVlIFByKD58enwpICBcbkhhbmQgLSBOb24tVHJlYXRlZCA9PSAwICAgICAgICAgICAgICAtMC4zMzExICAgIDIxLjc4MDEgIC0wLjAxNSAgIDEuMDAwMCAgXG5BYXRyZXggLSBOb24tVHJlYXRlZCA9PSAwICAgICAgICAgICAgIDYuMjQxNyAgICAyMS43ODAxICAgMC4yODcgICAwLjk5ODUgIFxuQ2xhcml0eSAtIE5vbi1UcmVhdGVkID09IDAgICAgICAgICAgIDI5Ljg4NzcgICAgMjEuNzgwMSAgIDEuMzcyICAgMC42NDUxICBcblJvdW5kdXAgUG93ZXJtYXggLSBOb24tVHJlYXRlZCA9PSAwICA1Ny42MTgyICAgIDIzLjUyNTIgICAyLjQ0OSAgIDAuMTAyMiAgXG5BYXRyZXggLSBIYW5kID09IDAgICAgICAgICAgICAgICAgICAgIDYuNTcyOCAgICAyMS43ODAxICAgMC4zMDIgICAwLjk5ODIgIFxuQ2xhcml0eSAtIEhhbmQgPT0gMCAgICAgICAgICAgICAgICAgIDMwLjIxODkgICAgMjEuNzgwMSAgIDEuMzg3ICAgMC42MzUzICBcblJvdW5kdXAgUG93ZXJtYXggLSBIYW5kID09IDAgICAgICAgICA1Ny45NDkzICAgIDIzLjUyNTIgICAyLjQ2MyAgIDAuMDk4OSAuXG5DbGFyaXR5IC0gQWF0cmV4ID09IDAgICAgICAgICAgICAgICAgMjMuNjQ2MSAgICAyMS43ODAxICAgMS4wODYgICAwLjgxMzcgIFxuUm91bmR1cCBQb3dlcm1heCAtIEFhdHJleCA9PSAwICAgICAgIDUxLjM3NjUgICAgMjMuNTI1MiAgIDIuMTg0ICAgMC4xODUzICBcblJvdW5kdXAgUG93ZXJtYXggLSBDbGFyaXR5ID09IDAgICAgICAyNy43MzA0ICAgIDIzLjUyNTIgICAxLjE3OSAgIDAuNzYzMyAgXG4tLS1cblNpZ25pZi4gY29kZXM6ICAwIOKAmCoqKuKAmSAwLjAwMSDigJgqKuKAmSAwLjAxIOKAmCrigJkgMC4wNSDigJgu4oCZIDAuMSDigJgg4oCZIDFcbihBZGp1c3RlZCBwIHZhbHVlcyByZXBvcnRlZCAtLSBzaW5nbGUtc3RlcCBtZXRob2QpXG4ifQ== -->
 Simultaneous Tests for General Linear Hypotheses

Multiple Comparisons of Means: Tukey Contrasts

Fit: glm(formula = NO3_mg_kgdrysoil ~ Herbicide, data = Time3)

Linear Hypotheses: Estimate Std. Error z value Pr(>|z|)
Hand - Non-Treated == 0 -0.3311 21.7801 -0.015 1.0000
Aatrex - Non-Treated == 0 6.2417 21.7801 0.287 0.9985
Clarity - Non-Treated == 0 29.8877 21.7801 1.372 0.6451
Roundup Powermax - Non-Treated == 0 57.6182 23.5252 2.449 0.1022
Aatrex - Hand == 0 6.5728 21.7801 0.302 0.9982
Clarity - Hand == 0 30.2189 21.7801 1.387 0.6353
Roundup Powermax - Hand == 0 57.9493 23.5252 2.463 0.0989 . Clarity - Aatrex == 0 23.6461 21.7801 1.086 0.8137
Roundup Powermax - Aatrex == 0 51.3765 23.5252 2.184 0.1853
Roundup Powermax - Clarity == 0 27.7304 23.5252 1.179 0.7633
— Signif. codes: 0 ‘’ 0.001 ‘’ 0.01 ‘’ 0.05 ‘.’ 0.1 ‘ ’ 1 (Adjusted p values reported – single-step method) ```

LS0tCnRpdGxlOiAiR0xNIGVuenltZXMgd2l0aCBnbG9iYWwgdGVzdCBhbmQgZHVubmV0dHMiCm91dHB1dDogaHRtbF9ub3RlYm9vawotLS0KCmBgYHtyfQpsaWJyYXJ5KHRpZHl2ZXJzZSkKbGlicmFyeShNQVNTKQpsaWJyYXJ5KG11bHRjb21wKQpsaWJyYXJ5KHRpZHlyKQpsaWJyYXJ5KHZlZ2FuKQpsaWJyYXJ5KHBhcmFsbGVsRGlzdCkKbGlicmFyeShnZ29yZGlwbG90cykKbGlicmFyeShsbXRlc3QpCmxpYnJhcnkocHN5Y2gpCmxpYnJhcnkobG1lNCkKbGlicmFyeShubG1lKQpsaWJyYXJ5KG11bHRjb21wKQpgYGAKUmVhZCBpbiBkYXRhCmBgYHtyfQp0b3RhbDwtcmVhZC5jc3YoIi9Vc2Vycy9nb3Jkb25jdXN0ZXIvRGVza3RvcC9NYW51c2NyaXB0IFN1Ym1pc3Npb25zL0hlcmJpY2lkZSBhbmQgTWljcm9iZXMvSGVyYmljaWRlX1NBUkVDXzIwMTgvbWVyZ2VkX21ldGFkYXRhX2hlcmJpY2lkZV9FUFNDT1JfMjAxOC5jc3YiKQplbnogPC0gcmVhZC5jc3YoIi9Vc2Vycy9nb3Jkb25jdXN0ZXIvRGVza3RvcC9NYW51c2NyaXB0IFN1Ym1pc3Npb25zL0hlcmJpY2lkZSBhbmQgTWljcm9iZXMvSGVyYmljaWRlX1NBUkVDXzIwMTgvRW56eW1lcy9Fbnp5bWVfU3VtbWFyeV9XX3BlcmNlbnRfQ2hhbmdlLmNzdiIpCmVuel9vbmx5PC1yZWFkLmNzdigiL1VzZXJzL2dvcmRvbmN1c3Rlci9EZXNrdG9wL01hbnVzY3JpcHQgU3VibWlzc2lvbnMvSGVyYmljaWRlIGFuZCBNaWNyb2Jlcy9IZXJiaWNpZGVfU0FSRUNfMjAxOC9Fbnp5bWVzL0VuenltZS5jc3YiKQoKd2lkZV90b3RhbCA8LXJlYWQuY3N2KCIvVXNlcnMvZ29yZG9uY3VzdGVyL0Rlc2t0b3AvTWFudXNjcmlwdCBTdWJtaXNzaW9ucy9IZXJiaWNpZGUgYW5kIE1pY3JvYmVzL0hlcmJpY2lkZV9TQVJFQ18yMDE4L1dpZGVfbWVyZ2VkX0dMTS5jc3YiKQpgYGAKClNwbGl0IGRhdGEgYnkgaGVyYmljaWRlIGFuZCB0aW1lIHNvIHdlIGNhbiBsb29rIGF0IGVhY2ggaW5kaXZpZHVhbGx5CmBgYHtyfQojZW56X29ubHkkSGVyYmljaWRlPC1mYWN0b3IoZW56X29ubHkkSGVyYmljaWRlLCBsZXZlbHMgPSBjKCJOb24tVHJlYXRlZCIsICJIYW5kIiwgIkFhdHJleCIsICJDbGFyaXR5IiwgIlJvdW5kdXAgUG93ZXJtYXgiKSwgb3JkZXJlZCA9IFQpCmVuel9vbmx5JEhlcmJpY2lkZTwtZmFjdG9yKGVuel9vbmx5JEhlcmJpY2lkZSwgbGV2ZWxzID0gYygiTm9uLVRyZWF0ZWQiLCAiSGFuZCIsICJBYXRyZXgiLCAiQ2xhcml0eSIsICJSb3VuZHVwIFBvd2VybWF4IiksIG9yZGVyZWQgPSBGKQpzdHIoZW56X29ubHkkVG90YWxfV2VlZF9WZWcpCiNjaGVja3Mgb3V0IGl0cyBudW1lcmljIGhlcmUuIAoKQWF0cmV4PC1maWx0ZXIoZW56X29ubHksIEhlcmJpY2lkZSA9PSAiQWF0cmV4IikKQ2xhcml0eTwtZmlsdGVyKGVuel9vbmx5LCBIZXJiaWNpZGUgPT0gIkNsYXJpdHkiKQpSb3VuZHVwPC1maWx0ZXIoZW56X29ubHksIEhlcmJpY2lkZSA9PSAiUm91bmR1cCBQb3dlcm1heCIpCgpIYW5kd2VlZDwtZmlsdGVyKGVuel9vbmx5LCBIZXJiaWNpZGUgIT0gYygiQWF0cmV4IikpCkhhbmR3ZWVkPC1maWx0ZXIoSGFuZHdlZWQsIEhlcmJpY2lkZSAhPSBjKCJSb3VuZHVwIFBvd2VybWF4IikpCkhhbmR3ZWVkPC1maWx0ZXIoSGFuZHdlZWQsIEhlcmJpY2lkZSAhPSBjKCJDbGFyaXR5IikpCkhhbmR3ZWVkPC1maWx0ZXIoSGFuZHdlZWQsIEhlcmJpY2lkZSAhPSBjKCJOb24tVHJlYXRlZCIpKQoKTm9uVHJlYXQ8LWZpbHRlcihlbnpfb25seSwgSGVyYmljaWRlID09ICJOb24tVHJlYXRlZCIpCgogIApUaW1lMTwtZmlsdGVyKGVuel9vbmx5LCBUaW1lID09ICJUMSIpClRpbWUyPC1maWx0ZXIoZW56X29ubHksIFRpbWUgPT0gIlQyIikKVGltZTM8LWZpbHRlcihlbnpfb25seSwgVGltZSA9PSAiVDMiKQpUaW1lMl8zPC1maWx0ZXIoZW56X29ubHksIFRpbWUgIT0gIlQxIikKVGltZTFfMjwtZmlsdGVyKGVuel9vbmx5LCBUaW1lICE9ICJUMyIpCmBgYAoKQ3JlYXRlIHN1bW1hcnkgdGFibGVzCmBgYHtyfQpzdWJfZW56X2RhdGE8LWVuel9vbmx5WyxjKCJIZXJiaWNpZGUiLCAiVGltZSIsICJCRyIsICJCWCIsICJDQkgiLCAiQUciLCAiTkFHIiwgIkxBUCIsICJQSE9TIiApXQplbnpfc3VtbWFyeTwtZGVzY3JpYmVCeShzdWJfZW56X2RhdGEsIGxpc3Qoc3ViX2Vuel9kYXRhJEhlcmJpY2lkZSwgc3ViX2Vuel9kYXRhJFRpbWUpLCBtYXQgPSBUKQoKI3dyaXRlLmNzdihlbnpfc3VtbWFyeSwgIi9Vc2Vycy9nb3Jkb25jdXN0ZXIvRGVza3RvcC9NYW51c2NyaXB0IFN1Ym1pc3Npb25zL0hlcmJpY2lkZSBhbmQgTWljcm9iZXMvV3JpdGluZy9UYWJsZXMvZW56X3N1bW1hcnkuY3N2IikKI0lDX3N1bW1hcnkyPC1kby5jYWxsKCJyYmluZCIsIElDX3N1bW1hcnkpCmBgYAoKZ2xtIGdsb2JhbCB0ZXN0IG9mIGVuenltZXMgdGltZSAxIGFnYWluc3QgaGFuZHdlZWRlZCBwbG90cwpGIHN0YXQgZm9yIG92ZXJhbGwgbW9kZWwgc2lnbmZpY2FuY2UgY29tcGFyZWQgdG8gaW50ZXJjZXB0IG9ubHkgbW9kZWwuIE9ubHkgaWYgdGhlIG1vcmUgY29tcGxleCBtb2RlbCBpcyBzaWduZmljbmF0IGFyZSB0aGUgcHJlZGljdG9ycyBrZXB0LiAKI2h0dHBzOi8vc3RhdGlzdGljc2J5amltLmNvbS9yZWdyZXNzaW9uL2ludGVycHJldC1mLXRlc3Qtb3ZlcmFsbC1zaWduaWZpY2FuY2UtcmVncmVzc2lvbi8KYGBge3J9CmVuenltZXM8LSBjKCJCRyIsICJDQkgiLCAiUEhPUyIsICJOQUciLCAiQlgiLCAiQUciLCAiTEFQIikKc3ViX1RpbWUxIDwtIFRpbWUxWyFpcy5uYShUaW1lMSRMQVApLF0KI3NldHMgb3JkZXIgZm9yIGhhbmR3ZWVkIHRvIGJlIGZpcnN0IGNhdGVnb3J5IHNvIGR1bm5ldHMgY29tcGFyZXMgdG8gdGhpcy4gCnN1Yl9UaW1lMSRIZXJiaWNpZGU8LWZhY3RvcihzdWJfVGltZTEkSGVyYmljaWRlLCBsZXZlbHMgPSBjKCAiSGFuZCIsICJOb24tVHJlYXRlZCIsICJBYXRyZXgiLCAiQ2xhcml0eSIsICJSb3VuZHVwIFBvd2VybWF4IiksIG9yZGVyZWQgPSBGKQojdW5pdmFyaWF0ZQpvdXQ8LWxpc3QoKQptb2RlbHNfb3V0PC1saXN0KCkKcC5wcmVkaWN0PC1saXN0KCkKCmZvcihpIGluIDE6KGxlbmd0aChlbnp5bWVzKSkpewogIG1vZF9oZXJiIDwtIGdsbShmb3JtdWxhID0gbm9xdW90ZShwYXN0ZShlbnp5bWVzW2ldLCAifiBIZXJiaWNpZGUgKyBUb3RhbF9XZWVkX1ZlZyIsIHNlcCA9ICIiKSksIGZhbWlseSA9IGdhdXNzaWFuKGxpbmsgPSAiaWRlbnRpdHkiKSwgZGF0YSA9IHN1Yl9UaW1lMSkKICBtb2RfaW50ZXIgPC0gZ2xtKGZvcm11bGEgPSBub3F1b3RlKHBhc3RlKGVuenltZXNbaV0sICJ+IDEiLCBzZXAgPSAiIikpLCBmYW1pbHkgPSBnYXVzc2lhbihsaW5rID0gImlkZW50aXR5IiksIGRhdGEgPSBzdWJfVGltZTEpCiAgIyMzcmQgbW9kZWw/IAogIGdsb2Jfc2lnPC1hbm92YShtb2RfaW50ZXIsIG1vZF9oZXJiLCB0ZXN0ID0gIkYiKQogICAgaWYoZ2xvYl9zaWckYFByKD5GKWBbMl08PTAuMDUpewogICAgICAgIHRlc3Rfc3RhdHM8LWMoZ2xvYl9zaWckYFJlc2lkLiBEZmBbMl0sIGdsb2Jfc2lnJERmWzJdLCBnbG9iX3NpZyRGWzJdLCBnbG9iX3NpZyRgUHIoPkYpYFsyXSkKICAgICAgICBuYW1lcyh0ZXN0X3N0YXRzKSA8LSBjKCJERl9yZXMiLCAiREYiLCAiRiIsICJwLXZhbCIpCiAgICAgICAgc3VtX21vZGVsPC1zdW1tYXJ5KG1vZF9oZXJiKQogICAgICAgIHBvc3RfaG9jPC1zdW1tYXJ5KGdsaHQobW9kX2hlcmIsIG1jcChIZXJiaWNpZGU9IkR1bm5ldHQiKSkpCiAgICAgICAgICMgcDwtYW5vdmEobW9kX2hlcmIsIG1vZF9pbnRlcikKICAgICAgICAjICBwLnZhbHM8LWMocC52YWxzLCBsaXN0KHApKQogICAgICAgIHNpZ25pZmljYW5jZV9wcmVkaWM8LWRyb3AxKG1vZF9oZXJiLCB0ZXN0ID0gIkYiKQogICAgICAgIG91dDwtYyhvdXQsIGxpc3QocG9zdF9ob2MpLCBlbnp5bWVzW2ldKQogICAgICAgIG1vZGVsc19vdXQgPC0gYyhtb2RlbHNfb3V0LCBlbnp5bWVzW2ldLCBsaXN0KHRlc3Rfc3RhdHMpLCBsaXN0KHN1bV9tb2RlbCkpCiAgICAgICAgcC5wcmVkaWN0IDwtIGMocC5wcmVkaWN0LCBsaXN0KHNpZ25pZmljYW5jZV9wcmVkaWMpLCBlbnp5bWVzW2ldKQogICAgfQoKfQoKbW9kZWxzX291dApwLnByZWRpY3QKb3V0CgoKYGBgCgpnbG0gZ2xvYmFsIHRlc3Qgb2YgZW56eW1lcyB0aW1lIDEgYWdhaXN0IG5vbi10cmVhdGVkIHBsb3RzCmBgYHtyfQplbnp5bWVzPC0gYygiQkciLCAiQ0JIIiwgIlBIT1MiLCAiTkFHIiwgIkJYIiwgIkFHIiwgIkxBUCIpCnN1Yl9UaW1lMSA8LSBUaW1lMVshaXMubmEoVGltZTEkTEFQKSxdCnN1Yl9UaW1lMSRIZXJiaWNpZGU8LWZhY3RvcihzdWJfVGltZTEkSGVyYmljaWRlLCBsZXZlbHMgPSBjKCAiTm9uLVRyZWF0ZWQiLCAiSGFuZCIsICAiQWF0cmV4IiwgIkNsYXJpdHkiLCAiUm91bmR1cCBQb3dlcm1heCIpLCBvcmRlcmVkID0gRikKI3VuaXZhcmlhdGUKb3V0PC1saXN0KCkKbW9kZWxzX291dDwtbGlzdCgpCnAucHJlZGljdDwtbGlzdCgpCgpmb3IoaSBpbiAxOihsZW5ndGgoZW56eW1lcykpKXsKICBtb2RfaGVyYiA8LSBnbG0oZm9ybXVsYSA9IG5vcXVvdGUocGFzdGUoZW56eW1lc1tpXSwgIn4gSGVyYmljaWRlICsgVG90YWxfV2VlZF9WZWciLCBzZXAgPSAiIikpLCBmYW1pbHkgPSBnYXVzc2lhbihsaW5rID0gImlkZW50aXR5IiksIGRhdGEgPSBzdWJfVGltZTEpCiAgbW9kX2ludGVyIDwtIGdsbShmb3JtdWxhID0gbm9xdW90ZShwYXN0ZShlbnp5bWVzW2ldLCAifiAxIiwgc2VwID0gIiIpKSwgZmFtaWx5ID0gZ2F1c3NpYW4obGluayA9ICJpZGVudGl0eSIpLCBkYXRhID0gc3ViX1RpbWUxKQogICMjM3JkIG1vZGVsPyAKICBnbG9iX3NpZzwtYW5vdmEobW9kX2ludGVyLCBtb2RfaGVyYiwgdGVzdCA9ICJGIikKICAgIGlmKGdsb2Jfc2lnJGBQcig+RilgWzJdPD0wLjA1KXsKICAgICAgICB0ZXN0X3N0YXRzPC1jKGdsb2Jfc2lnJGBSZXNpZC4gRGZgWzJdLCBnbG9iX3NpZyREZlsyXSwgZ2xvYl9zaWckRlsyXSwgZ2xvYl9zaWckYFByKD5GKWBbMl0pCiAgICAgICAgbmFtZXModGVzdF9zdGF0cykgPC0gYygiREZfcmVzIiwgIkRGIiwgIkYiLCAicC12YWwiKQogICAgICAgIHN1bV9tb2RlbDwtc3VtbWFyeShtb2RfaGVyYikKICAgICAgICBwb3N0X2hvYzwtc3VtbWFyeShnbGh0KG1vZF9oZXJiLCBtY3AoSGVyYmljaWRlPSJEdW5uZXR0IikpKQogICAgICAgICAjIHA8LWFub3ZhKG1vZF9oZXJiLCBtb2RfaW50ZXIpCiAgICAgICAgIyAgcC52YWxzPC1jKHAudmFscywgbGlzdChwKSkKICAgICAgICBzaWduaWZpY2FuY2VfcHJlZGljPC1kcm9wMShtb2RfaGVyYiwgdGVzdCA9ICJGIikKICAgICAgICBvdXQ8LWMob3V0LCBsaXN0KHBvc3RfaG9jKSwgZW56eW1lc1tpXSkKICAgICAgICBtb2RlbHNfb3V0IDwtIGMobW9kZWxzX291dCwgZW56eW1lc1tpXSwgbGlzdCh0ZXN0X3N0YXRzKSwgbGlzdChzdW1fbW9kZWwpKQogICAgICAgIHAucHJlZGljdCA8LSBjKHAucHJlZGljdCwgbGlzdChzaWduaWZpY2FuY2VfcHJlZGljKSwgZW56eW1lc1tpXSkKICAgIH0KCn0KCm1vZGVsc19vdXQKcC5wcmVkaWN0Cm91dAoKI2Ryb3AxKG1vZF9oZXJiLCB0ZXN0ID0gIkYiKQpgYGAKCmFkb25pczIgYW5kIGdyYXBocwpgYGB7cn0KI2NvbnZlcnQgdG8gbG9uZyBmb3JtYXQgZm9yIGdncGxvdApzdWJ0aW1lMV9sb25nIDwtIHN1Yl9UaW1lMVssYygiSGVyYmljaWRlIiwgIkJHIiwgIkNCSCIsICJQSE9TIiwgIk5BRyIsICJCWCIsICJBRyIsICJMQVAiKV0gJT4lIAogIGdhdGhlcihrZXkgPSAiRW56eW1lIiwgdmFsdWUgPSAiQWN0aXZpdHkiLEJHLCBDQkgsIFBIT1MsIE5BRywgQlgsIEFHLCBMQVAgKQoKZGF0YV9sb25nPC1lbnpfb25seVssYygiSGVyYmljaWRlIiwgIlRpbWUiLCJCRyIsICJDQkgiLCAiUEhPUyIsICJOQUciLCAiQlgiLCAiQUciLCAiTEFQIildICU+JSAKICBnYXRoZXIoa2V5ID0gIkVuenltZSIsIHZhbHVlID0gIkFjdGl2aXR5IiwgQkcsIENCSCwgUEhPUywgTkFHLCBCWCwgQUcsIExBUCApCgpkb3NlLmxhYnMgPC0gYygiVGltZSBvbmUiLCJUaW1lIHR3byIsIlRpbWUgdGhyZWUiKQpuYW1lcyhkb3NlLmxhYnMpIDwtIGMoIlQxIiwgIlQyIiwgIlQzIikKCnBob3NfVDE8LWdncGxvdChkYXRhX2xvbmcsIGFlc19zdHJpbmcoeCA9ICJIZXJiaWNpZGUiLCB5PSAiQWN0aXZpdHkiLCBmaWxsPSJIZXJiaWNpZGUiKSkgKyBnZW9tX2JveHBsb3QoZGF0YT1zdWJzZXQoZGF0YV9sb25nLEVuenltZT09IlBIT1MiKSkgKyB0aGVtZV9jbGFzc2ljKCkgKyBmYWNldF93cmFwKC5+IFRpbWUsIGxhYmVsbGVyID0gbGFiZWxsZXIoVGltZSA9IGRvc2UubGFicykpICsKI2dncGxvdChzdWJ0aW1lMV9sb25nLCBhZXNfc3RyaW5nKHggPSAiSGVyYmljaWRlIiwgeT0gIkFjdGl2aXR5IiwgZmlsbD0iSGVyYmljaWRlIikpICsgZ2VvbV9ib3hwbG90KCkgK3RoZW1lX2NsYXNzaWMoKSArIGZhY2V0X3dyYXAofiBFbnp5bWUsIHNjYWxlcyA9ICJmcmVlX3kiKSAgKwogIHRoZW1lKHBsb3QudGl0bGU9IGVsZW1lbnRfdGV4dCggaGp1c3QgPSAwLjUsIHNpemUgPSAxNSkpICsgeWxhYigiQWN0aXZpdHkgKG5tb2wvaC9nKSIpICsgeGxhYigiV2VlZCByZW1vdmFsIHRyZWF0bWVudCIpICsgc2NhbGVfZmlsbF9kaXNjcmV0ZShuYW1lID0gIldlZWQgcmVtb3ZhbFxuIHRyZWF0bWVudCIsIGxhYmVscyA9IGMoICJOb250cmVhdGVkIiwgIkhhbmR3ZWVkZWQiLCAiQWF0cmV4IiwgIkNsYXJpdHkiLCAiUm91bmR1cFxuUG93ZXJtYXgiKSkgKyB0aGVtZShheGlzLnRleHQueSA9IGVsZW1lbnRfdGV4dChzaXplPTEyKSkgICsgCiAgdGhlbWUoYXhpcy50aWNrcyA9IGVsZW1lbnRfYmxhbmsoKSwgYXhpcy50ZXh0LnggPSBlbGVtZW50X2JsYW5rKCksIGF4aXMudGl0bGUueCA9IGVsZW1lbnRfdGV4dChzaXplID0gMTIpKSAgKyAKICAgICAgIHRoZW1lKHN0cmlwLnRleHQueCA9IGVsZW1lbnRfdGV4dChzaXplID0gOSwgY29sb3VyID0gImJsYWNrIiwgYW5nbGUgPSAwKSkgKyB0aGVtZShheGlzLnRpdGxlLnkgPSBlbGVtZW50X3RleHQoc2l6ZT0xMykpICsgeWxpbSg1MCwxODApICsgdGhlbWUobGVnZW5kLnBvc2l0aW9uPSJub25lIikgKyAgdGhlbWUoc3RyaXAudGV4dC54ID0gZWxlbWVudF90ZXh0KHNpemUgPSAgMTIpKSArZ2d0aXRsZSgiUEhPUyBBY3Rpdml0eSIpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCmJnVGltZTwtZ2dwbG90KGRhdGFfbG9uZywgYWVzX3N0cmluZyh4ID0gIkhlcmJpY2lkZSIsIHk9ICJBY3Rpdml0eSIsIGZpbGw9IkhlcmJpY2lkZSIpKSArIGdlb21fYm94cGxvdChkYXRhPXN1YnNldChkYXRhX2xvbmcsRW56eW1lPT0iQkciKSkgKyB0aGVtZV9jbGFzc2ljKCkgKyBmYWNldF93cmFwKC5+IFRpbWUsIGxhYmVsbGVyID0gbGFiZWxsZXIoVGltZSA9IGRvc2UubGFicykpICsKI2dncGxvdChzdWJ0aW1lMV9sb25nLCBhZXNfc3RyaW5nKHggPSAiSGVyYmljaWRlIiwgeT0gIkFjdGl2aXR5IiwgZmlsbD0iSGVyYmljaWRlIikpICsgZ2VvbV9ib3hwbG90KCkgK3RoZW1lX2NsYXNzaWMoKSArIGZhY2V0X3dyYXAofiBFbnp5bWUsIHNjYWxlcyA9ICJmcmVlX3kiKSAgKwogIHRoZW1lKHBsb3QudGl0bGU9IGVsZW1lbnRfdGV4dCggaGp1c3QgPSAwLjUsIHNpemUgPSAxNSkpICsgeWxhYigiQWN0aXZpdHkgKG5tb2wvaC9nKSIpICsgeGxhYigiV2VlZCByZW1vdmFsIHRyZWF0bWVudCIpICsgc2NhbGVfZmlsbF9kaXNjcmV0ZShuYW1lID0gIldlZWQgcmVtb3ZhbFxuIHRyZWF0bWVudCIsIGxhYmVscyA9IGMoICJOb250cmVhdGVkIiwgIkhhbmR3ZWVkZWQiLCAiQWF0cmV4IiwgIkNsYXJpdHkiLCAiUm91bmR1cFxuUG93ZXJtYXgiKSkgKyB0aGVtZShheGlzLnRleHQueSA9IGVsZW1lbnRfdGV4dChzaXplPTEyKSkgICsgCiAgdGhlbWUoYXhpcy50aWNrcyA9IGVsZW1lbnRfYmxhbmsoKSwgYXhpcy50ZXh0LnggPSBlbGVtZW50X2JsYW5rKCksIGF4aXMudGl0bGUueCA9IGVsZW1lbnRfdGV4dChzaXplID0gMTIpKSAgKyAKICAgICAgIHRoZW1lKHN0cmlwLnRleHQueCA9IGVsZW1lbnRfdGV4dChzaXplID0gOSwgY29sb3VyID0gImJsYWNrIiwgYW5nbGUgPSAwKSkgKyB0aGVtZShheGlzLnRpdGxlLnkgPSBlbGVtZW50X3RleHQoc2l6ZT0xMykpICsgdGhlbWUobGVnZW5kLnBvc2l0aW9uPSJub25lIikgKyAgdGhlbWUoc3RyaXAudGV4dC54ID0gZWxlbWVudF90ZXh0KHNpemUgPSAgMTIpKStnZ3RpdGxlKCJCRyBBY3Rpdml0eSIpCgpsYXBUaW1lPC1nZ3Bsb3QoZGF0YV9sb25nLCBhZXNfc3RyaW5nKHggPSAiSGVyYmljaWRlIiwgeT0gIkFjdGl2aXR5IiwgZmlsbD0iSGVyYmljaWRlIikpICsgZ2VvbV9ib3hwbG90KGRhdGE9c3Vic2V0KGRhdGFfbG9uZyxFbnp5bWU9PSJMQVAiKSkgKyB0aGVtZV9jbGFzc2ljKCkgKyBmYWNldF93cmFwKC5+IFRpbWUsIGxhYmVsbGVyID0gbGFiZWxsZXIoVGltZSA9IGRvc2UubGFicykpICsKI2dncGxvdChzdWJ0aW1lMV9sb25nLCBhZXNfc3RyaW5nKHggPSAiSGVyYmljaWRlIiwgeT0gIkFjdGl2aXR5IiwgZmlsbD0iSGVyYmljaWRlIikpICsgZ2VvbV9ib3hwbG90KCkgK3RoZW1lX2NsYXNzaWMoKSArIGZhY2V0X3dyYXAofiBFbnp5bWUsIHNjYWxlcyA9ICJmcmVlX3kiKSAgKwogIHRoZW1lKHBsb3QudGl0bGU9IGVsZW1lbnRfdGV4dCggaGp1c3QgPSAwLjUsIHNpemUgPSAxNSkpICsgeWxhYigiQWN0aXZpdHkgKG5tb2wvaC9nKSIpICsgeGxhYigiV2VlZCByZW1vdmFsIHRyZWF0bWVudCIpICsgc2NhbGVfZmlsbF9kaXNjcmV0ZShuYW1lID0gIldlZWQgcmVtb3ZhbFxuIHRyZWF0bWVudCIsIGxhYmVscyA9IGMoICJOb250cmVhdGVkIiwgIkhhbmR3ZWVkZWQiLCAiQWF0cmV4IiwgIkNsYXJpdHkiLCAiUm91bmR1cFxuUG93ZXJtYXgiKSkgKyB0aGVtZShheGlzLnRleHQueSA9IGVsZW1lbnRfdGV4dChzaXplPTEyKSkgICsgCiAgdGhlbWUoYXhpcy50aWNrcyA9IGVsZW1lbnRfYmxhbmsoKSwgYXhpcy50ZXh0LnggPSBlbGVtZW50X2JsYW5rKCksIGF4aXMudGl0bGUueCA9IGVsZW1lbnRfdGV4dChzaXplID0gMTIpKSAgKyAKICAgICAgIHRoZW1lKHN0cmlwLnRleHQueCA9IGVsZW1lbnRfdGV4dChzaXplID0gOSwgY29sb3VyID0gImJsYWNrIiwgYW5nbGUgPSAwKSkgKyB0aGVtZShheGlzLnRpdGxlLnkgPSBlbGVtZW50X3RleHQoc2l6ZT0xMykpICMrIHRoZW1lKGxlZ2VuZC5wb3NpdGlvbj0ibm9uZSIpICsgIHRoZW1lKHN0cmlwLnRleHQueCA9IGVsZW1lbnRfdGV4dChzaXplID0gIDEyKSkrZ2d0aXRsZSgiTEFQIEFjdGl2aXR5IikKCmdyaWQuYXJyYW5nZShwaG9zX1QxLCBiZ1RpbWUsIGxhcFRpbWUpCgojbXVsdGl2YXJpYXRlCmVuel90YWJsZTwtc3ViX1RpbWUxWyxjKCJCRyIsICJDQkgiLCAiUEhPUyIsICJOQUciLCAiQlgiLCAiQUciLCAiTEFQIildCnNhbXBfZGF0YSA8LSBzdWJfVGltZTFbLGMoIkhlcmJpY2lkZSIsICJUcmVhdG1lbnQiLCAiVG90YWxfV2VlZF9WZWciKV0KCnBzZGlzdDwtcGFyRGlzdChhcy5tYXRyaXgoZW56X3RhYmxlKSwgbWV0aG9kID0gImJyYXkiKQoKYWRvbmlzMihwc2Rpc3QgfiBIZXJiaWNpZGUgKyBUb3RhbF9XZWVkX1ZlZywgZGF0YSA9IGRhdGEuZnJhbWUoc2FtcF9kYXRhKSwgcGVybXV0YXRpb25zID0gMTAwMCkKCnRpbWUxX29yZDwtbWV0YU1EUyhuYS5vbWl0KHN1Yl9UaW1lMVssYygiQkciLCAiQ0JIIiwgIlBIT1MiLCAiTkFHIiwgIkJYIiwgIkFHIiwgIkxBUCIpXSksIGRpc3RhbmNlID0gImJyYXkiICkKc3RyZXNzcGxvdCh0aW1lMV9vcmQpCgpvcmQ8LXRpbWUxX29yZAojbWFrZSB0aGUgcGxvdCB3aXRoIGV2ZXJ5dGhpbmcgCmQgPC0gZ2dfb3JkaXBsb3Qob3JkLCBzYW1wX2RhdGEkSGVyYmljaWRlLCBjaG9pY2VzID0gYygxLCAyKSwga2luZCA9IGMoInNlIiksIGNvbmYgPSAwLjk1LCBzaG93Lmdyb3VwcyA9ICJhbGwiLCBlbGxpcHNlID0gVFJVRSwgbGFiZWwgPSBGQUxTRSwgaHVsbCA9IEZBTFNFLCBzcGlkZXJzID0gRkFMU0UsIHBsb3QgPSBUUlVFLCBwdC5zaXplID0gMSkgCiNwdWxsIG91dCB0aGUgZWxsaXBzZXMKZGZfZWxsaXBzZSA8LSBkJGRmX2VsbGlwc2UKZWxsaXBzZUcxIDwtIHN1YnNldChkZl9lbGxpcHNlLCBHcm91cCA9PSAiSGFuZCIsIGRyb3BsZXZlbHM9IFRSVUUpCmVsbGlwc2VHMiA8LSBzdWJzZXQoZGZfZWxsaXBzZSwgR3JvdXAgPT0gIk5vbi1UcmVhdGVkIiwgZHJvcGxldmVscz0gVFJVRSkKZWxsaXBzZUczIDwtIHN1YnNldChkZl9lbGxpcHNlLCBHcm91cCA9PSAiQWF0cmV4IiwgZHJvcGxldmVscz0gVFJVRSkKZWxsaXBzZUc0IDwtIHN1YnNldChkZl9lbGxpcHNlLCBHcm91cCA9PSAiQ2xhcml0eSIsIGRyb3BsZXZlbHM9IFRSVUUpCmVsbGlwc2VHNSA8LSBzdWJzZXQoZGZfZWxsaXBzZSwgR3JvdXAgPT0gIlJvdW5kdXAgUG93ZXJtYXgiLCBkcm9wbGV2ZWxzPSBUUlVFKQoKCiNtYWtlIHRoZSBkYXRhZnJhbWUgYW5kIHN1YnNldCBvdXQgc2FtcGxlcyB5b3UgZG9udCB3YW50IHRvIHBsb3QKdGVzdDwtZCRkZl9vcmQKdGVzdCRTYW1wbGVfSUQ8LXJvd25hbWVzKHRlc3QpCiN0ZXN0JEdyb3VwPU5VTEwKbmFtZXModGVzdCk8LWMoIngiLCAieSIsIkhlcmJpY2lkZSIpCgojbWFrZSB0aGUgZ2dwbG90IHNjYXR0ZXIgcGxvdApwbG90X3Rlc3Q8LWdncGxvdCh0ZXN0LCBhZXMoeD10ZXN0JHgsIHk9dGVzdCR5KSwgY29sb3I9SGVyYmljaWRlKSAgKyBzY2FsZV9jb2xvcl9tYW51YWwodmFsdWVzPWMoIiNGODc2NkQiLCAiI0EzQTUwMCIsICIjMDBCRjdEIiwgIiMwMEIwRjYiLCAiI0U3NkJGMyIpKSArIGdlb21fcG9pbnQoYWVzKGNvbG9yPSBIZXJiaWNpZGUpKQojYWRkIHBhdGhzLCBjb2xvciwgYW5kIHNpemUsIG9mIHRoZSBodWxscwpwbG90X3Rlc3QgPC0gcGxvdF90ZXN0ICsKICAgIGdlb21fcGF0aChkYXRhPSBlbGxpcHNlRzEsIGFlcyh4PXgsIHk9eSksIGNvbG9yPSIjRjg3NjZEIiwgbGluZXR5cGU9InNvbGlkIiwgc2l6ZT0xLjApICsKICAgIGdlb21fcGF0aChkYXRhPSBlbGxpcHNlRzIsIGFlcyh4PXgsIHk9eSksIGNvbG9yPSIjQTNBNTAwIiwgbGluZXR5cGU9InNvbGlkIiwgc2l6ZT0xLjApICsKICAgIGdlb21fcGF0aChkYXRhPSBlbGxpcHNlRzMsIGFlcyh4PXgsIHk9eSksIGNvbG9yPSIjMDBCRjdEIiwgbGluZXR5cGU9InNvbGlkIiwgc2l6ZT0xLjApICsKICAgIGdlb21fcGF0aChkYXRhPSBlbGxpcHNlRzQsIGFlcyh4PXgsIHk9eSksIGNvbG9yPSIjMDBCMEY2IiwgbGluZXR5cGU9InNvbGlkIiwgc2l6ZT0xLjApICsKICAgIGdlb21fcGF0aChkYXRhPSBlbGxpcHNlRzUsIGFlcyh4PXgsIHk9eSksIGNvbG9yPSIjRTc2QkYzIiwgbGluZXR5cGU9InNvbGlkIiwgc2l6ZT0xLjApIAojdGhlbWUgaXQgb24gdXAKcGxvdF90ZXN0PC0gcGxvdF90ZXN0ICsgdGhlbWVfY2xhc3NpYygpCm08LXBsb3RfdGVzdCAKI20gPC1tICsgYW5ub3RhdGUoInRleHQiLCB4ID0gLTAuMDUsIHkgPSAtMC4wMTIsIGxhYmVsID0gIlRpbWUgMiIpCiNtIDwtbSArIGFubm90YXRlKCJ0ZXh0IiwgeCA9IDAuMDEsIHkgPSAtMC4wMSwgbGFiZWwgPSAiVGltZSAzIikKI20gPC1tICsgYW5ub3RhdGUoInRleHQiLCB4ID0gMC4wNDUsIHkgPSAtMC4wMjMsIGxhYmVsID0gIlRpbWUgMSIpCiNtIDwtbSArIGFubm90YXRlKCJ0ZXh0IiwgeCA9IDAuNCwgeSA9IC0wLjUsIGxhYmVsID0gIlRpbWU6IFAgID4gMC44IikKbTwtIG0gKyBsYWJzKHg9ICJOTURTMiIsIHk9Ik5NRFMxIikKZyA8LSBtICsgZ2d0aXRsZSgiIikgKyB0aGVtZShwbG90LnRpdGxlID0gZWxlbWVudF90ZXh0KGhqdXN0ID0gMC41LCBzaXplID0gMjIpKSAgKyBzY2FsZV9maWxsX2Rpc2NyZXRlKG5hbWUgPSAiSGVyYmljaWRlIiwgbGFiZWxzID0gYygiSGFuZHdlZWRlZCIsICJOb250cmVhdGVkIiwgIkFhdHJleCIsICJDbGFyaXR5IiwgIlJvdW5kdXBcblBvd2VybWF4IikpIApnCmBgYApUaW1lIDIgY29tcGFyaXNvbiB0byBoYW5kd2VlZApgYGB7cn0KZW56eW1lczwtIGMoIkJHIiwgIkNCSCIsICJQSE9TIiwgIk5BRyIsICJCWCIsICJBRyIsICJMQVAiKQpzdWJfVGltZTIgPC0gVGltZTJbIWlzLm5hKFRpbWUyJExBUCksXQpzdWJfVGltZTIkSGVyYmljaWRlPC1mYWN0b3Ioc3ViX1RpbWUyJEhlcmJpY2lkZSwgbGV2ZWxzID0gYyggIkhhbmQiLCAiTm9uLVRyZWF0ZWQiLCAiQWF0cmV4IiwgIkNsYXJpdHkiLCAiUm91bmR1cCBQb3dlcm1heCIpLCBvcmRlcmVkID0gRikKI3VuaXZhcmlhdGUKI3VuaXZhcmlhdGUKb3V0PC1saXN0KCkKbW9kZWxzX291dDwtbGlzdCgpCnAucHJlZGljdDwtbGlzdCgpCgpmb3IoaSBpbiAxOihsZW5ndGgoZW56eW1lcykpKXsKICBtb2RfaGVyYiA8LSBnbG0oZm9ybXVsYSA9IG5vcXVvdGUocGFzdGUoZW56eW1lc1tpXSwgIn4gSGVyYmljaWRlICsgVG90YWxfV2VlZF9WZWciLCBzZXAgPSAiIikpLCBmYW1pbHkgPSBnYXVzc2lhbihsaW5rID0gImlkZW50aXR5IiksIGRhdGEgPSBzdWJfVGltZTIpCiAgbW9kX2ludGVyIDwtIGdsbShmb3JtdWxhID0gbm9xdW90ZShwYXN0ZShlbnp5bWVzW2ldLCAifiAxIiwgc2VwID0gIiIpKSwgZmFtaWx5ID0gZ2F1c3NpYW4obGluayA9ICJpZGVudGl0eSIpLCBkYXRhID0gc3ViX1RpbWUyKQogICMjM3JkIG1vZGVsPyAKICBnbG9iX3NpZzwtYW5vdmEobW9kX2ludGVyLCBtb2RfaGVyYiwgdGVzdCA9ICJGIikKICAgIGlmKGdsb2Jfc2lnJGBQcig+RilgWzJdPD0wLjA1KXsKICAgICAgICB0ZXN0X3N0YXRzPC1jKGdsb2Jfc2lnJGBSZXNpZC4gRGZgWzJdLCBnbG9iX3NpZyREZlsyXSwgZ2xvYl9zaWckRlsyXSwgZ2xvYl9zaWckYFByKD5GKWBbMl0pCiAgICAgICAgbmFtZXModGVzdF9zdGF0cykgPC0gYygiREZfcmVzIiwgIkRGIiwgIkYiLCAicC12YWwiKQogICAgICAgIHN1bV9tb2RlbDwtc3VtbWFyeShtb2RfaGVyYikKICAgICAgICBwb3N0X2hvYzwtc3VtbWFyeShnbGh0KG1vZF9oZXJiLCBtY3AoSGVyYmljaWRlPSJEdW5uZXR0IikpKQogICAgICAgICAjIHA8LWFub3ZhKG1vZF9oZXJiLCBtb2RfaW50ZXIpCiAgICAgICAgIyAgcC52YWxzPC1jKHAudmFscywgbGlzdChwKSkKICAgICAgICBzaWduaWZpY2FuY2VfcHJlZGljPC1kcm9wMShtb2RfaGVyYiwgdGVzdCA9ICJGIikKICAgICAgICBvdXQ8LWMob3V0LCBsaXN0KHBvc3RfaG9jKSwgZW56eW1lc1tpXSkKICAgICAgICBtb2RlbHNfb3V0IDwtIGMobW9kZWxzX291dCwgZW56eW1lc1tpXSwgbGlzdCh0ZXN0X3N0YXRzKSwgbGlzdChzdW1fbW9kZWwpKQogICAgICAgIHAucHJlZGljdCA8LSBjKHAucHJlZGljdCwgbGlzdChzaWduaWZpY2FuY2VfcHJlZGljKSwgZW56eW1lc1tpXSkKICAgIH0KCn0KCgptb2RlbHNfb3V0CnAucHJlZGljdApvdXQKYGBgCgpUaW1lIDIgY29tcGFyaXNvbiB0byBub24tdHJlYXRlZApgYGB7cn0KZW56eW1lczwtIGMoIkJHIiwgIkNCSCIsICJQSE9TIiwgIk5BRyIsICJCWCIsICJBRyIsICJMQVAiKQpzdWJfVGltZTIgPC0gVGltZTJbIWlzLm5hKFRpbWUyJExBUCksXQpzdWJfVGltZTIkSGVyYmljaWRlPC1mYWN0b3Ioc3ViX1RpbWUyJEhlcmJpY2lkZSwgbGV2ZWxzID0gYyggICJOb24tVHJlYXRlZCIsICJIYW5kIiwgIkFhdHJleCIsICJDbGFyaXR5IiwgIlJvdW5kdXAgUG93ZXJtYXgiKSwgb3JkZXJlZCA9IEYpCiN1bml2YXJpYXRlCm91dDwtbGlzdCgpCm1vZGVsc19vdXQ8LWxpc3QoKQpwLnByZWRpY3Q8LWxpc3QoKQoKZm9yKGkgaW4gMToobGVuZ3RoKGVuenltZXMpKSl7CiAgbW9kX2hlcmIgPC0gZ2xtKGZvcm11bGEgPSBub3F1b3RlKHBhc3RlKGVuenltZXNbaV0sICJ+IEhlcmJpY2lkZSArIFRvdGFsX1dlZWRfVmVnIiwgc2VwID0gIiIpKSwgZmFtaWx5ID0gZ2F1c3NpYW4obGluayA9ICJpZGVudGl0eSIpLCBkYXRhID0gc3ViX1RpbWUyKQogIG1vZF9pbnRlciA8LSBnbG0oZm9ybXVsYSA9IG5vcXVvdGUocGFzdGUoZW56eW1lc1tpXSwgIn4gMSIsIHNlcCA9ICIiKSksIGZhbWlseSA9IGdhdXNzaWFuKGxpbmsgPSAiaWRlbnRpdHkiKSwgZGF0YSA9IHN1Yl9UaW1lMikKICAjIzNyZCBtb2RlbD8gCiAgZ2xvYl9zaWc8LWFub3ZhKG1vZF9pbnRlciwgbW9kX2hlcmIsIHRlc3QgPSAiRiIpCiAgICBpZihnbG9iX3NpZyRgUHIoPkYpYFsyXTw9MC4wNSl7CiAgICAgICAgdGVzdF9zdGF0czwtYyhnbG9iX3NpZyRgUmVzaWQuIERmYFsyXSwgZ2xvYl9zaWckRGZbMl0sIGdsb2Jfc2lnJEZbMl0sIGdsb2Jfc2lnJGBQcig+RilgWzJdKQogICAgICAgIG5hbWVzKHRlc3Rfc3RhdHMpIDwtIGMoIkRGX3JlcyIsICJERiIsICJGIiwgInAtdmFsIikKICAgICAgICBzdW1fbW9kZWw8LXN1bW1hcnkobW9kX2hlcmIpCiAgICAgICAgcG9zdF9ob2M8LXN1bW1hcnkoZ2xodChtb2RfaGVyYiwgbWNwKEhlcmJpY2lkZT0iRHVubmV0dCIpKSkKICAgICAgICAgIyBwPC1hbm92YShtb2RfaGVyYiwgbW9kX2ludGVyKQogICAgICAgICMgIHAudmFsczwtYyhwLnZhbHMsIGxpc3QocCkpCiAgICAgICAgc2lnbmlmaWNhbmNlX3ByZWRpYzwtZHJvcDEobW9kX2hlcmIsIHRlc3QgPSAiRiIpCiAgICAgICAgb3V0PC1jKG91dCwgbGlzdChwb3N0X2hvYyksIGVuenltZXNbaV0pCiAgICAgICAgbW9kZWxzX291dCA8LSBjKG1vZGVsc19vdXQsIGVuenltZXNbaV0sIGxpc3QodGVzdF9zdGF0cyksIGxpc3Qoc3VtX21vZGVsKSkKICAgICAgICBwLnByZWRpY3QgPC0gYyhwLnByZWRpY3QsIGxpc3Qoc2lnbmlmaWNhbmNlX3ByZWRpYyksIGVuenltZXNbaV0pCiAgICB9Cgp9CgoKbW9kZWxzX291dApwLnByZWRpY3QKb3V0CmBgYAoKYGBge3J9CiNjb252ZXJ0IHRvIGxvbmcgZm9ybWF0IGZvciBnZ3Bsb3QKc3ViVGltZTJfbG9uZyA8LSBzdWJfVGltZTJbLGMoIkhlcmJpY2lkZSIsICJCRyIsICJDQkgiLCAiUEhPUyIsICJOQUciLCAiQlgiLCAiQUciLCAiTEFQIildICU+JSAKICBnYXRoZXIoa2V5ID0gIkVuenltZSIsIHZhbHVlID0gIkFjdGl2aXR5IixCRywgQ0JILCBQSE9TLCBOQUcsIEJYLCBBRywgTEFQICkKCkJHX1QyPC1nZ3Bsb3Qoc3ViVGltZTJfbG9uZywgYWVzX3N0cmluZyh4ID0gIkhlcmJpY2lkZSIsIHk9ICJBY3Rpdml0eSIsIGZpbGw9IkhlcmJpY2lkZSIpKSArIGdlb21fYm94cGxvdChkYXRhPXN1YnNldChzdWJ0aW1lMV9sb25nLEVuenltZT09IkJHIikpICsgdGhlbWVfY2xhc3NpYygpICsgI2ZhY2V0X3dyYXAofiBFbnp5bWUsIHNjYWxlcyA9ICJmcmVlX3kiKSArCiAgIGdndGl0bGUoIiIpICsgdGhlbWUocGxvdC50aXRsZT0gZWxlbWVudF90ZXh0KCBoanVzdCA9IDAuNSwgc2l6ZSA9IDIyKSkgKyB5bGFiKCJBY3Rpdml0eSAobm1vbC9oL2cpIikgKyB4bGFiKCJXZWVkIHJlbW92YWwgdHJlYXRtZW50IikgKyBzY2FsZV9maWxsX2Rpc2NyZXRlKG5hbWUgPSAiV2VlZCByZW1vdmFsXG4gdHJlYXRtZW50IiwgbGFiZWxzID0gYygiSGFuZHdlZWRlZCIsICJOb250cmVhdGVkIiwgIkFhdHJleCIsICJDbGFyaXR5IiwgIlJvdW5kdXBcblBvd2VybWF4IikpICsgdGhlbWUoYXhpcy50ZXh0LnkgPSBlbGVtZW50X3RleHQoc2l6ZT0xMikpICArIAogIHRoZW1lKGF4aXMudGlja3MgPSBlbGVtZW50X2JsYW5rKCksIGF4aXMudGV4dC54ID0gZWxlbWVudF9ibGFuaygpLCBheGlzLnRpdGxlLnggPSBlbGVtZW50X3RleHQoc2l6ZSA9IDEyKSkgICsgCiAgICAgICB0aGVtZShzdHJpcC50ZXh0LnggPSBlbGVtZW50X3RleHQoc2l6ZSA9IDksIGNvbG91ciA9ICJibGFjayIsIGFuZ2xlID0gMCkpICsgdGhlbWUoYXhpcy50aXRsZS55ID0gZWxlbWVudF90ZXh0KHNpemU9MTUpKSAKCgpwaG9zX1QyPC1nZ3Bsb3Qoc3ViVGltZTJfbG9uZywgYWVzX3N0cmluZyh4ID0gIkhlcmJpY2lkZSIsIHk9ICJBY3Rpdml0eSIsIGZpbGw9IkhlcmJpY2lkZSIpKSArIGdlb21fYm94cGxvdChkYXRhPXN1YnNldChzdWJUaW1lMl9sb25nLEVuenltZT09IlBIT1MiKSkgKyB0aGVtZV9jbGFzc2ljKCkrCiNnZ3Bsb3Qoc3VidGltZTFfbG9uZywgYWVzX3N0cmluZyh4ID0gIkhlcmJpY2lkZSIsIHk9ICJBY3Rpdml0eSIsIGZpbGw9IkhlcmJpY2lkZSIpKSArIGdlb21fYm94cGxvdCgpICt0aGVtZV9jbGFzc2ljKCkgKyBmYWNldF93cmFwKH4gRW56eW1lLCBzY2FsZXMgPSAiZnJlZV95IikgICsKICB0aGVtZShwbG90LnRpdGxlPSBlbGVtZW50X3RleHQoIGhqdXN0ID0gMC41LCBzaXplID0gMjIpKSArIHlsYWIoIiIpICArIHNjYWxlX2ZpbGxfZGlzY3JldGUobmFtZSA9ICJXZWVkIHJlbW92YWxcbiB0cmVhdG1lbnQiLCBsYWJlbHMgPSBjKCJIYW5kd2VlZGVkIiwgIk5vbnRyZWF0ZWQiLCAiQWF0cmV4IiwgIkNsYXJpdHkiLCAiUm91bmR1cFxuUG93ZXJtYXgiKSkgKyB0aGVtZShheGlzLnRleHQueSA9IGVsZW1lbnRfdGV4dChzaXplPTEyKSkgICsgCiAgdGhlbWUoYXhpcy50aWNrcyA9IGVsZW1lbnRfYmxhbmsoKSwgYXhpcy50ZXh0LnggPSBlbGVtZW50X2JsYW5rKCksIGF4aXMudGl0bGUueCA9IGVsZW1lbnRfdGV4dChzaXplID0gMTQpKSAgKyAKICAgICAgIHRoZW1lKHN0cmlwLnRleHQueCA9IGVsZW1lbnRfdGV4dChzaXplID0gOSwgY29sb3VyID0gImJsYWNrIiwgYW5nbGUgPSAwKSkgKyB0aGVtZShheGlzLnRpdGxlLnkgPSBlbGVtZW50X3RleHQoc2l6ZT0xNSkpICsgeWxpbSg1MCwxODApKyB0aGVtZShsZWdlbmQucG9zaXRpb249Im5vbmUiKSArIHhsYWIoIldlZWQgcmVtb3ZhbCB0cmVhdG1lbnQiKQoKI211bHRpdmFyaWF0ZQplbnpfdGFibGU8LXN1Yl9UaW1lMlssYygiQkciLCAiQ0JIIiwgIlBIT1MiLCAiTkFHIiwgIkJYIiwgIkFHIiwgIkxBUCIpXQpzYW1wX2RhdGEgPC0gc3ViX1RpbWUyWyxjKCJIZXJiaWNpZGUiLCAiVHJlYXRtZW50IiwgIlRvdGFsX1dlZWRfVmVnIiwgIkxRX1BXIiwgIlBXX1RvdCIpXQoKcHNkaXN0PC1wYXJEaXN0KGFzLm1hdHJpeChlbnpfdGFibGUpLCBtZXRob2QgPSAiYnJheSIpCgphZG9uaXMyKHBzZGlzdCB+IEhlcmJpY2lkZSArIFRvdGFsX1dlZWRfVmVnLCBkYXRhID0gZGF0YS5mcmFtZShzYW1wX2RhdGEpLCBwZXJtdXRhdGlvbnMgPSAxMDAwKQoKVGltZTJfb3JkPC1tZXRhTURTKG5hLm9taXQoc3ViX1RpbWUyWyxjKCJCRyIsICJDQkgiLCAiUEhPUyIsICJOQUciLCAiQlgiLCAiQUciLCAiTEFQIildKSwgZGlzdGFuY2UgPSAiYnJheSIgKQpzdHJlc3NwbG90KFRpbWUyX29yZCkKCgoKb3JkPC1UaW1lMl9vcmQKI21ha2UgdGhlIHBsb3Qgd2l0aCBldmVyeXRoaW5nIApkIDwtIGdnX29yZGlwbG90KG9yZCwgc2FtcF9kYXRhJFRvdGFsX1dlZWRfVmVnLCBjaG9pY2VzID0gYygxLCAyKSwga2luZCA9IGMoInNlIiksIGNvbmYgPSAwLjk1LCBzaG93Lmdyb3VwcyA9ICJhbGwiLCBlbGxpcHNlID0gVFJVRSwgbGFiZWwgPSBGQUxTRSwgaHVsbCA9IEZBTFNFLCBzcGlkZXJzID0gRkFMU0UsIHBsb3QgPSBUUlVFLCBwdC5zaXplID0gMSkgCiNwdWxsIG91dCB0aGUgZWxsaXBzZXMKZGZfZWxsaXBzZSA8LSBkJGRmX2VsbGlwc2UKZWxsaXBzZUcxIDwtIHN1YnNldChkZl9lbGxpcHNlLCBHcm91cCA9PSAiSGFuZCIsIGRyb3BsZXZlbHM9IFRSVUUpCmVsbGlwc2VHMiA8LSBzdWJzZXQoZGZfZWxsaXBzZSwgR3JvdXAgPT0gIk5vbi1UcmVhdGVkIiwgZHJvcGxldmVscz0gVFJVRSkKZWxsaXBzZUczIDwtIHN1YnNldChkZl9lbGxpcHNlLCBHcm91cCA9PSAiQWF0cmV4IiwgZHJvcGxldmVscz0gVFJVRSkKZWxsaXBzZUc0IDwtIHN1YnNldChkZl9lbGxpcHNlLCBHcm91cCA9PSAiQ2xhcml0eSIsIGRyb3BsZXZlbHM9IFRSVUUpCmVsbGlwc2VHNSA8LSBzdWJzZXQoZGZfZWxsaXBzZSwgR3JvdXAgPT0gIlJvdW5kdXAgUG93ZXJtYXgiLCBkcm9wbGV2ZWxzPSBUUlVFKQoKCiNtYWtlIHRoZSBkYXRhZnJhbWUgYW5kIHN1YnNldCBvdXQgc2FtcGxlcyB5b3UgZG9udCB3YW50IHRvIHBsb3QKdGVzdDwtZCRkZl9vcmQKdGVzdCRTYW1wbGVfSUQ8LXJvd25hbWVzKHRlc3QpCnRlc3QkTFFfUFc8LXNhbXBfZGF0YSRMUV9QVwp0ZXN0JFBXX1RvdDwtc2FtcF9kYXRhJFBXX1RvdAojdGVzdCRHcm91cD1OVUxMCm5hbWVzKHRlc3QpPC1jKCJ4IiwgInkiLCJUb3RhbCBXZWVkeSBWZWdldGF0aW9uIiwgIlNhbXBsZV9JRCIsICJMUV9QVyIgLCAiUFdfVG90IikKCiNtYWtlIHRoZSBnZ3Bsb3Qgc2NhdHRlciBwbG90CnBsb3RfdGVzdDwtZ2dwbG90KHRlc3QsIGFlcyh4PXRlc3QkeCwgeT10ZXN0JHksIHNpemU9YFRvdGFsIFdlZWR5IFZlZ2V0YXRpb25gLCBjb2xvcj1QV19Ub3QpKSAgKyMgc2NhbGVfY29sb3JfbWFudWFsKHZhbHVlcz1jKCIjRjg3NjZEIiwgIiNBM0E1MDAiLCAiIzAwQkY3RCIsICIjMDBCMEY2IiwgIiNFNzZCRjMiKSkgKyAKZ2VvbV9wb2ludCgpCiNhZGQgcGF0aHMsIGNvbG9yLCBhbmQgc2l6ZSwgb2YgdGhlIGh1bGxzCnBsb3RfdGVzdCA8LSBwbG90X3Rlc3QgKwogICAgZ2VvbV9wYXRoKGRhdGE9IGVsbGlwc2VHMSwgYWVzKHg9eCwgeT15KSwgY29sb3I9IiNGODc2NkQiLCBsaW5ldHlwZT0ic29saWQiLCBzaXplPTEuMCkgKwogICAgZ2VvbV9wYXRoKGRhdGE9IGVsbGlwc2VHMiwgYWVzKHg9eCwgeT15KSwgY29sb3I9IiNBM0E1MDAiLCBsaW5ldHlwZT0ic29saWQiLCBzaXplPTEuMCkgKwogICAgZ2VvbV9wYXRoKGRhdGE9IGVsbGlwc2VHMywgYWVzKHg9eCwgeT15KSwgY29sb3I9IiMwMEJGN0QiLCBsaW5ldHlwZT0ic29saWQiLCBzaXplPTEuMCkgKwogICAgZ2VvbV9wYXRoKGRhdGE9IGVsbGlwc2VHNCwgYWVzKHg9eCwgeT15KSwgY29sb3I9IiMwMEIwRjYiLCBsaW5ldHlwZT0ic29saWQiLCBzaXplPTEuMCkgKwogICAgZ2VvbV9wYXRoKGRhdGE9IGVsbGlwc2VHNSwgYWVzKHg9eCwgeT15KSwgY29sb3I9IiNFNzZCRjMiLCBsaW5ldHlwZT0ic29saWQiLCBzaXplPTEuMCkgCiN0aGVtZSBpdCBvbiB1cApwbG90X3Rlc3Q8LSBwbG90X3Rlc3QgKyB0aGVtZV9jbGFzc2ljKCkKbTwtcGxvdF90ZXN0IAojbSA8LW0gKyBhbm5vdGF0ZSgidGV4dCIsIHggPSAtMC4wNSwgeSA9IC0wLjAxMiwgbGFiZWwgPSAiVGltZSAyIikKI20gPC1tICsgYW5ub3RhdGUoInRleHQiLCB4ID0gMC4wMSwgeSA9IC0wLjAxLCBsYWJlbCA9ICJUaW1lIDMiKQojbSA8LW0gKyBhbm5vdGF0ZSgidGV4dCIsIHggPSAwLjA0NSwgeSA9IC0wLjAyMywgbGFiZWwgPSAiVGltZSAxIikKI20gPC1tICsgYW5ub3RhdGUoInRleHQiLCB4ID0gMC40LCB5ID0gLTAuNSwgbGFiZWwgPSAiVGltZTogUCAgPiAwLjgiKQptPC0gbSArIGxhYnMoeD0gIk5NRFMyIiwgeT0iTk1EUzEiKQpnIDwtIG0gKyBnZ3RpdGxlKCIiKSArIHRoZW1lKHBsb3QudGl0bGUgPSBlbGVtZW50X3RleHQoaGp1c3QgPSAwLjUsIHNpemUgPSAyMikpICArIHNjYWxlX2ZpbGxfZGlzY3JldGUobmFtZSA9ICJIZXJiaWNpZGUiLCBsYWJlbHMgPSBjKCJIYW5kd2VlZGVkIiwgIk5vbnRyZWF0ZWQiLCAiQWF0cmV4IiwgIkNsYXJpdHkiLCAiUm91bmR1cFxuUG93ZXJtYXgiKSkgCmcKYGBgClRpbWUgMyBjb21wYXJpc29uIHRvIGhhbmR3ZWVkIApgYGB7cn0KZW56eW1lczwtIGMoIkJHIiwgIkNCSCIsICJQSE9TIiwgIk5BRyIsICJCWCIsICJBRyIsICJMQVAiKQpzdWJfVGltZTMgPC0gVGltZTJbIWlzLm5hKFRpbWUzJExBUCksXQpzdWJfVGltZTMkSGVyYmljaWRlPC1mYWN0b3Ioc3ViX1RpbWUzJEhlcmJpY2lkZSwgbGV2ZWxzID0gYyggIkhhbmQiLCAiTm9uLVRyZWF0ZWQiLCAiQWF0cmV4IiwgIkNsYXJpdHkiLCAiUm91bmR1cCBQb3dlcm1heCIpLCBvcmRlcmVkID0gRikKI3VuaXZhcmlhdGUKb3V0PC1saXN0KCkKbW9kZWxzX291dDwtbGlzdCgpCnAucHJlZGljdDwtbGlzdCgpCgpmb3IoaSBpbiAxOihsZW5ndGgoZW56eW1lcykpKXsKICBtb2RfaGVyYiA8LSBnbG0oZm9ybXVsYSA9IG5vcXVvdGUocGFzdGUoZW56eW1lc1tpXSwgIn4gSGVyYmljaWRlICsgVG90YWxfV2VlZF9WZWciLCBzZXAgPSAiIikpLCBmYW1pbHkgPSBnYXVzc2lhbihsaW5rID0gImlkZW50aXR5IiksIGRhdGEgPSBzdWJfVGltZTMpCiAgbW9kX2ludGVyIDwtIGdsbShmb3JtdWxhID0gbm9xdW90ZShwYXN0ZShlbnp5bWVzW2ldLCAifiAxIiwgc2VwID0gIiIpKSwgZmFtaWx5ID0gZ2F1c3NpYW4obGluayA9ICJpZGVudGl0eSIpLCBkYXRhID0gc3ViX1RpbWUzKQogICMjM3JkIG1vZGVsPyAKICBnbG9iX3NpZzwtYW5vdmEobW9kX2ludGVyLCBtb2RfaGVyYiwgdGVzdCA9ICJGIikKICAgIGlmKGdsb2Jfc2lnJGBQcig+RilgWzJdPD0wLjA1KXsKICAgICAgICB0ZXN0X3N0YXRzPC1jKGdsb2Jfc2lnJGBSZXNpZC4gRGZgWzJdLCBnbG9iX3NpZyREZlsyXSwgZ2xvYl9zaWckRlsyXSwgZ2xvYl9zaWckYFByKD5GKWBbMl0pCiAgICAgICAgbmFtZXModGVzdF9zdGF0cykgPC0gYygiREZfcmVzIiwgIkRGIiwgIkYiLCAicC12YWwiKQogICAgICAgIHN1bV9tb2RlbDwtc3VtbWFyeShtb2RfaGVyYikKICAgICAgICBwb3N0X2hvYzwtc3VtbWFyeShnbGh0KG1vZF9oZXJiLCBtY3AoSGVyYmljaWRlPSJEdW5uZXR0IikpKQogICAgICAgICAjIHA8LWFub3ZhKG1vZF9oZXJiLCBtb2RfaW50ZXIpCiAgICAgICAgIyAgcC52YWxzPC1jKHAudmFscywgbGlzdChwKSkKICAgICAgICBzaWduaWZpY2FuY2VfcHJlZGljPC1kcm9wMShtb2RfaGVyYiwgdGVzdCA9ICJGIikKICAgICAgICBvdXQ8LWMob3V0LCBsaXN0KHBvc3RfaG9jKSwgZW56eW1lc1tpXSkKICAgICAgICBtb2RlbHNfb3V0IDwtIGMobW9kZWxzX291dCwgZW56eW1lc1tpXSwgbGlzdCh0ZXN0X3N0YXRzKSwgbGlzdChzdW1fbW9kZWwpKQogICAgICAgIHAucHJlZGljdCA8LSBjKHAucHJlZGljdCwgbGlzdChzaWduaWZpY2FuY2VfcHJlZGljKSwgZW56eW1lc1tpXSkKICAgIH0KCn0KCgptb2RlbHNfb3V0CnAucHJlZGljdApvdXQKYGBgClRpbWUgMyB0byBub24tdHJlYXRlZApgYGB7cn0KZW56eW1lczwtIGMoIkJHIiwgIkNCSCIsICJQSE9TIiwgIk5BRyIsICJCWCIsICJBRyIsICJMQVAiKQpzdWJfVGltZTMgPC0gVGltZTJbIWlzLm5hKFRpbWUzJExBUCksXQpzdWJfVGltZTMkSGVyYmljaWRlPC1mYWN0b3Ioc3ViX1RpbWUzJEhlcmJpY2lkZSwgbGV2ZWxzID0gYyggICJOb24tVHJlYXRlZCIsICJIYW5kIiwgIkFhdHJleCIsICJDbGFyaXR5IiwgIlJvdW5kdXAgUG93ZXJtYXgiKSwgb3JkZXJlZCA9IEYpCiN1bml2YXJpYXRlCm91dDwtbGlzdCgpCm1vZGVsc19vdXQ8LWxpc3QoKQpwLnByZWRpY3Q8LWxpc3QoKQoKZm9yKGkgaW4gMToobGVuZ3RoKGVuenltZXMpKSl7CiAgbW9kX2hlcmIgPC0gZ2xtKGZvcm11bGEgPSBub3F1b3RlKHBhc3RlKGVuenltZXNbaV0sICJ+IEhlcmJpY2lkZSArIFRvdGFsX1dlZWRfVmVnIiwgc2VwID0gIiIpKSwgZmFtaWx5ID0gZ2F1c3NpYW4obGluayA9ICJpZGVudGl0eSIpLCBkYXRhID0gc3ViX1RpbWUzKQogIG1vZF9pbnRlciA8LSBnbG0oZm9ybXVsYSA9IG5vcXVvdGUocGFzdGUoZW56eW1lc1tpXSwgIn4gMSIsIHNlcCA9ICIiKSksIGZhbWlseSA9IGdhdXNzaWFuKGxpbmsgPSAiaWRlbnRpdHkiKSwgZGF0YSA9IHN1Yl9UaW1lMykKICAjIzNyZCBtb2RlbD8gCiAgZ2xvYl9zaWc8LWFub3ZhKG1vZF9pbnRlciwgbW9kX2hlcmIsIHRlc3QgPSAiRiIpCiAgICBpZihnbG9iX3NpZyRgUHIoPkYpYFsyXTw9MC4wNSl7CiAgICAgICAgdGVzdF9zdGF0czwtYyhnbG9iX3NpZyRgUmVzaWQuIERmYFsyXSwgZ2xvYl9zaWckRGZbMl0sIGdsb2Jfc2lnJEZbMl0sIGdsb2Jfc2lnJGBQcig+RilgWzJdKQogICAgICAgIG5hbWVzKHRlc3Rfc3RhdHMpIDwtIGMoIkRGX3JlcyIsICJERiIsICJGIiwgInAtdmFsIikKICAgICAgICBzdW1fbW9kZWw8LXN1bW1hcnkobW9kX2hlcmIpCiAgICAgICAgcG9zdF9ob2M8LXN1bW1hcnkoZ2xodChtb2RfaGVyYiwgbWNwKEhlcmJpY2lkZT0iRHVubmV0dCIpKSkKICAgICAgICAgIyBwPC1hbm92YShtb2RfaGVyYiwgbW9kX2ludGVyKQogICAgICAgICMgIHAudmFsczwtYyhwLnZhbHMsIGxpc3QocCkpCiAgICAgICAgc2lnbmlmaWNhbmNlX3ByZWRpYzwtZHJvcDEobW9kX2hlcmIsIHRlc3QgPSAiRiIpCiAgICAgICAgb3V0PC1jKG91dCwgbGlzdChwb3N0X2hvYyksIGVuenltZXNbaV0pCiAgICAgICAgbW9kZWxzX291dCA8LSBjKG1vZGVsc19vdXQsIGVuenltZXNbaV0sIGxpc3QodGVzdF9zdGF0cyksIGxpc3Qoc3VtX21vZGVsKSkKICAgICAgICBwLnByZWRpY3QgPC0gYyhwLnByZWRpY3QsIGxpc3Qoc2lnbmlmaWNhbmNlX3ByZWRpYyksIGVuenltZXNbaV0pCiAgICB9Cgp9CgoKbW9kZWxzX291dApwLnByZWRpY3QKb3V0CmBgYAoKYGBge3J9CiNjb252ZXJ0IHRvIGxvbmcgZm9ybWF0IGZvciBnZ3Bsb3QKc3ViVGltZTNfbG9uZyA8LSBzdWJfVGltZTNbLGMoIkhlcmJpY2lkZSIsICJCRyIsICJDQkgiLCAiUEhPUyIsICJOQUciLCAiQlgiLCAiQUciLCAiTEFQIildICU+JSAKICBnYXRoZXIoa2V5ID0gIkVuenltZSIsIHZhbHVlID0gIkFjdGl2aXR5IixCRywgQ0JILCBQSE9TLCBOQUcsIEJYLCBBRywgTEFQICkKClBIT1NfVDM8LWdncGxvdChzdWJUaW1lM19sb25nLCBhZXNfc3RyaW5nKHggPSAiSGVyYmljaWRlIiwgeT0gIkFjdGl2aXR5IiwgZmlsbD0iSGVyYmljaWRlIikpICsgZ2VvbV9ib3hwbG90KGRhdGE9c3Vic2V0KHN1YnRpbWUxX2xvbmcsRW56eW1lPT0iUEhPUyIpKSArIHRoZW1lX2NsYXNzaWMoKSArICNmYWNldF93cmFwKH4gRW56eW1lLCBzY2FsZXMgPSAiZnJlZV95IikgKwogICBnZ3RpdGxlKCIiKSArIHRoZW1lKHBsb3QudGl0bGU9IGVsZW1lbnRfdGV4dCggaGp1c3QgPSAwLjUsIHNpemUgPSAyMikpICsgeWxhYigiIikgKyB4bGFiKCIiKSArIHNjYWxlX2ZpbGxfZGlzY3JldGUobmFtZSA9ICJXZWVkIHJlbW92YWxcbiB0cmVhdG1lbnQiLCBsYWJlbHMgPSBjKCJIYW5kd2VlZGVkIiwgIk5vbnRyZWF0ZWQiLCAiQWF0cmV4IiwgIkNsYXJpdHkiLCAiUm91bmR1cFxuUG93ZXJtYXgiKSkgKyB0aGVtZShheGlzLnRleHQueSA9IGVsZW1lbnRfdGV4dChzaXplPTEyKSkgICsgCiAgdGhlbWUoYXhpcy50aWNrcyA9IGVsZW1lbnRfYmxhbmsoKSwgYXhpcy50ZXh0LnggPSBlbGVtZW50X2JsYW5rKCksIGF4aXMudGl0bGUueCA9IGVsZW1lbnRfdGV4dChzaXplID0gMTIpKSAgKyAKICAgICAgIHRoZW1lKHN0cmlwLnRleHQueCA9IGVsZW1lbnRfdGV4dChzaXplID0gOSwgY29sb3VyID0gImJsYWNrIiwgYW5nbGUgPSAwKSkgKyB0aGVtZShheGlzLnRpdGxlLnkgPSBlbGVtZW50X3RleHQoc2l6ZT0xNSkpICsgeWxpbSg1MCwxODApICsgdGhlbWUobGVnZW5kLnBvc2l0aW9uPSJub25lIikKCgoKI211bHRpdmFyaWF0ZQplbnpfdGFibGU8LXN1Yl9UaW1lM1ssYygiQkciLCAiQ0JIIiwgIlBIT1MiLCAiTkFHIiwgIkJYIiwgIkFHIiwgIkxBUCIpXQpzYW1wX2RhdGEgPC0gc3ViX1RpbWUzWyxjKCJIZXJiaWNpZGUiLCAiVHJlYXRtZW50IiwgIlRvdGFsX1dlZWRfVmVnIildCgpwc2Rpc3Q8LXBhckRpc3QoYXMubWF0cml4KGVuel90YWJsZSksIG1ldGhvZCA9ICJicmF5IikKCmFkb25pczIocHNkaXN0IH4gSGVyYmljaWRlICsgVG90YWxfV2VlZF9WZWcsIGRhdGEgPSBkYXRhLmZyYW1lKHNhbXBfZGF0YSksIHBlcm11dGF0aW9ucyA9IDEwMDApCgpUaW1lM19vcmQ8LW1ldGFNRFMobmEub21pdChzdWJfVGltZTNbLGMoIkJHIiwgIkNCSCIsICJQSE9TIiwgIk5BRyIsICJCWCIsICJBRyIsICJMQVAiKV0pLCBkaXN0YW5jZSA9ICJicmF5IiApCnN0cmVzc3Bsb3QoVGltZTNfb3JkKQoKb3JkPC1UaW1lM19vcmQKI21ha2UgdGhlIHBsb3Qgd2l0aCBldmVyeXRoaW5nIApkIDwtIGdnX29yZGlwbG90KG9yZCwgc2FtcF9kYXRhJEhlcmJpY2lkZSwgY2hvaWNlcyA9IGMoMSwgMiksIGtpbmQgPSBjKCJzZSIpLCBjb25mID0gMC45NSwgc2hvdy5ncm91cHMgPSAiYWxsIiwgZWxsaXBzZSA9IFRSVUUsIGxhYmVsID0gRkFMU0UsIGh1bGwgPSBGQUxTRSwgc3BpZGVycyA9IEZBTFNFLCBwbG90ID0gVFJVRSwgcHQuc2l6ZSA9IDEpIAojcHVsbCBvdXQgdGhlIGVsbGlwc2VzCmRmX2VsbGlwc2UgPC0gZCRkZl9lbGxpcHNlCmVsbGlwc2VHMSA8LSBzdWJzZXQoZGZfZWxsaXBzZSwgR3JvdXAgPT0gIkhhbmQiLCBkcm9wbGV2ZWxzPSBUUlVFKQplbGxpcHNlRzIgPC0gc3Vic2V0KGRmX2VsbGlwc2UsIEdyb3VwID09ICJOb24tVHJlYXRlZCIsIGRyb3BsZXZlbHM9IFRSVUUpCmVsbGlwc2VHMyA8LSBzdWJzZXQoZGZfZWxsaXBzZSwgR3JvdXAgPT0gIkFhdHJleCIsIGRyb3BsZXZlbHM9IFRSVUUpCmVsbGlwc2VHNCA8LSBzdWJzZXQoZGZfZWxsaXBzZSwgR3JvdXAgPT0gIkNsYXJpdHkiLCBkcm9wbGV2ZWxzPSBUUlVFKQplbGxpcHNlRzUgPC0gc3Vic2V0KGRmX2VsbGlwc2UsIEdyb3VwID09ICJSb3VuZHVwIFBvd2VybWF4IiwgZHJvcGxldmVscz0gVFJVRSkKCgojbWFrZSB0aGUgZGF0YWZyYW1lIGFuZCBzdWJzZXQgb3V0IHNhbXBsZXMgeW91IGRvbnQgd2FudCB0byBwbG90CnRlc3Q8LWQkZGZfb3JkCnRlc3QkU2FtcGxlX0lEPC1yb3duYW1lcyh0ZXN0KQojdGVzdCRHcm91cD1OVUxMCm5hbWVzKHRlc3QpPC1jKCJ4IiwgInkiLCJIZXJiaWNpZGUiKQoKI21ha2UgdGhlIGdncGxvdCBzY2F0dGVyIHBsb3QKcGxvdF90ZXN0PC1nZ3Bsb3QodGVzdCwgYWVzKHg9dGVzdCR4LCB5PXRlc3QkeSksIGNvbG9yPUhlcmJpY2lkZSkgICsgc2NhbGVfY29sb3JfbWFudWFsKHZhbHVlcz1jKCIjRjg3NjZEIiwgIiNBM0E1MDAiLCAiIzAwQkY3RCIsICIjMDBCMEY2IiwgIiNFNzZCRjMiKSkgKyBnZW9tX3BvaW50KGFlcyhjb2xvcj0gSGVyYmljaWRlKSkKCgojYWRkIHBhdGhzLCBjb2xvciwgYW5kIHNpemUsIG9mIHRoZSBodWxscwpwbG90X3Rlc3QgPC0gcGxvdF90ZXN0ICsKICAgIGdlb21fcGF0aChkYXRhPSBlbGxpcHNlRzEsIGFlcyh4PXgsIHk9eSksIGNvbG9yPSIjRjg3NjZEIiwgbGluZXR5cGU9InNvbGlkIiwgc2l6ZT0xLjApICsKICAgIGdlb21fcGF0aChkYXRhPSBlbGxpcHNlRzIsIGFlcyh4PXgsIHk9eSksIGNvbG9yPSIjQTNBNTAwIiwgbGluZXR5cGU9InNvbGlkIiwgc2l6ZT0xLjApICsKICAgIGdlb21fcGF0aChkYXRhPSBlbGxpcHNlRzMsIGFlcyh4PXgsIHk9eSksIGNvbG9yPSIjMDBCRjdEIiwgbGluZXR5cGU9InNvbGlkIiwgc2l6ZT0xLjApICsKICAgIGdlb21fcGF0aChkYXRhPSBlbGxpcHNlRzQsIGFlcyh4PXgsIHk9eSksIGNvbG9yPSIjMDBCMEY2IiwgbGluZXR5cGU9InNvbGlkIiwgc2l6ZT0xLjApICsKICAgIGdlb21fcGF0aChkYXRhPSBlbGxpcHNlRzUsIGFlcyh4PXgsIHk9eSksIGNvbG9yPSIjRTc2QkYzIiwgbGluZXR5cGU9InNvbGlkIiwgc2l6ZT0xLjApIAojdGhlbWUgaXQgb24gdXAKcGxvdF90ZXN0PC0gcGxvdF90ZXN0ICsgdGhlbWVfY2xhc3NpYygpCm08LXBsb3RfdGVzdCAKI20gPC1tICsgYW5ub3RhdGUoInRleHQiLCB4ID0gLTAuMDUsIHkgPSAtMC4wMTIsIGxhYmVsID0gIlRpbWUgMiIpCiNtIDwtbSArIGFubm90YXRlKCJ0ZXh0IiwgeCA9IDAuMDEsIHkgPSAtMC4wMSwgbGFiZWwgPSAiVGltZSAzIikKI20gPC1tICsgYW5ub3RhdGUoInRleHQiLCB4ID0gMC4wNDUsIHkgPSAtMC4wMjMsIGxhYmVsID0gIlRpbWUgMSIpCiNtIDwtbSArIGFubm90YXRlKCJ0ZXh0IiwgeCA9IDAuNCwgeSA9IC0wLjUsIGxhYmVsID0gIlRpbWU6IFAgID4gMC44IikKbTwtIG0gKyBsYWJzKHg9ICJOTURTMiIsIHk9Ik5NRFMxIikKZyA8LSBtICsgZ2d0aXRsZSgiIikgKyB0aGVtZShwbG90LnRpdGxlID0gZWxlbWVudF90ZXh0KGhqdXN0ID0gMC41LCBzaXplID0gMjIpKSAgKyBzY2FsZV9maWxsX2Rpc2NyZXRlKG5hbWUgPSAiSGVyYmljaWRlIiwgbGFiZWxzID0gYygiSGFuZHdlZWRlZCIsICJOb250cmVhdGVkIiwgIkFhdHJleCIsICJDbGFyaXR5IiwgIlJvdW5kdXBcblBvd2VybWF4IikpIApnCmBgYAoKCmBgYHtyfQpsaWJyYXJ5KGdyaWRFeHRyYSkKZ3JpZC5hcnJhbmdlKHBob3NfVDEsIHBob3NfVDIsIFBIT1NfVDMsIG5yb3c9MSkKYGBgCgoKI1NwbGl0IGJ5IGhlcmJpY2lkZQoKQWxsIFRvZ2V0aGVyOgpgYGB7cn0KI0FhdHJleAojbmFtZXMoQWF0cmV4KQplbnp5bWVzPC0gYygiQkciLCAiQ0JIIiwgIlBIT1MiLCAiTkFHIiwgIkJYIiwgIkFHIiwgIkxBUCIpCiNBYXRyZXgkSGVyYmljaWRlPC1mYWN0b3IoQWF0cmV4JEhlcmJpY2lkZSwgbGV2ZWxzID0gYygiTm9uLVRyZWF0ZWQiLCAiSGFuZCIsICJBYXRyZXgiLCAiQ2xhcml0eSIsICJSb3VuZHVwIFBvd2VybWF4IiksIG9yZGVyZWQgPSBGKQojdW5pdmFyaWF0ZQpzdWJfZW56X29ubHkgPC0gZW56X29ubHlbIWlzLm5hKGVuel9vbmx5JExBUCksXQpzdWJfZW56X29ubHkgPC0gc3ViX2Vuel9vbmx5WyFzdWJfZW56X29ubHkkSGVyYmljaWRlPT0iTm9uLVRyZWF0ZWQiLF0Kc3ViX2Vuel9vbmx5IDwtIHN1Yl9lbnpfb25seVshc3ViX2Vuel9vbmx5JFRpbWU9PSJUMSIsXQoKCiNjb252ZXJ0IHRvIGxvbmcgZm9ybWF0IGZvciBnZ3Bsb3QKc3ViZW56X2xvbmcgPC0gc3ViX2Vuel9vbmx5WyxjKCJUaW1lIiwgIkJHIiwgIkNCSCIsICJQSE9TIiwgIk5BRyIsICJCWCIsICJBRyIsICJMQVAiKV0gJT4lIAogIGdhdGhlcihrZXkgPSAiRW56eW1lIiwgdmFsdWUgPSAiQWN0aXZpdHkiLEJHLCBDQkgsIFBIT1MsIE5BRywgQlgsIEFHLCBMQVAgKQoKZ2dwbG90KHN1YmVuel9sb25nLCBhZXNfc3RyaW5nKHggPSAiVGltZSIsIHk9ICJBY3Rpdml0eSIsIGZpbGw9IlRpbWUiKSkgKyBnZW9tX2JveHBsb3QoKSArIHRoZW1lX2NsYXNzaWMoKSArIGZhY2V0X3dyYXAofiBFbnp5bWUsIHNjYWxlcyA9ICJmcmVlX3kiKSArIHRoZW1lKGF4aXMudGV4dC54ID0gZWxlbWVudF90ZXh0KGFuZ2xlID0gNDUsIGhqdXN0ID0gMSkpICsgZ2d0aXRsZSgiQWxsIHNhbXBsZXMgYnkgdGltZSIpICsgdGhlbWUocGxvdC50aXRsZT0gZWxlbWVudF90ZXh0KCBoanVzdCA9IDAuNSwgc2l6ZSA9IDIyKSkKCiNtdWx0aXZhcmlhdGUKZW56X3RhYmxlPC1zdWJfZW56X29ubHlbLGMoIkJHIiwgIkNCSCIsICJQSE9TIiwgIk5BRyIsICJCWCIsICJBRyIsICJMQVAiKV0Kc2FtcF9kYXRhIDwtIHN1Yl9lbnpfb25seVssYygiVGltZSIsICJUcmVhdG1lbnQiLCAiVG90YWxfV2VlZF9WZWciKV0KCnBzZGlzdDwtcGFyRGlzdChhcy5tYXRyaXgoZW56X3RhYmxlKSwgbWV0aG9kID0gImJyYXkiKQoKYWRvbmlzMihwc2Rpc3QgfiBUcmVhdG1lbnQgKyBUb3RhbF9XZWVkX1ZlZywgZGF0YSA9IGRhdGEuZnJhbWUoc2FtcF9kYXRhKSwgcGVybXV0YXRpb25zID0gMTAwMCkKCkFhdHJleF9vcmQ8LW1ldGFNRFMobmEub21pdChzdWJfZW56X29ubHlbLGMoIkJHIiwgIkNCSCIsICJQSE9TIiwgIk5BRyIsICJCWCIsICJBRyIsICJMQVAiKV0pLCBkaXN0YW5jZSA9ICJicmF5IiApCnN0cmVzc3Bsb3QoQWF0cmV4X29yZCkKCm9yZDwtQWF0cmV4X29yZAojbWFrZSB0aGUgcGxvdCB3aXRoIGV2ZXJ5dGhpbmcgCmQgPC0gZ2dfb3JkaXBsb3Qob3JkLCBzYW1wX2RhdGEkVGltZSwgY2hvaWNlcyA9IGMoMSwgMiksIGtpbmQgPSBjKCJzZSIpLCBjb25mID0gMC45NSwgc2hvdy5ncm91cHMgPSAiYWxsIiwgZWxsaXBzZSA9IFRSVUUsIGxhYmVsID0gRkFMU0UsIGh1bGwgPSBGQUxTRSwgc3BpZGVycyA9IEZBTFNFLCBwbG90ID0gVFJVRSwgcHQuc2l6ZSA9IDEpIAojcHVsbCBvdXQgdGhlIGVsbGlwc2VzCmRmX2VsbGlwc2UgPC0gZCRkZl9lbGxpcHNlCmVsbGlwc2VHMSA8LSBzdWJzZXQoZGZfZWxsaXBzZSwgR3JvdXAgPT0gIlQxIiwgZHJvcGxldmVscz0gVFJVRSkKZWxsaXBzZUcyIDwtIHN1YnNldChkZl9lbGxpcHNlLCBHcm91cCA9PSAiVDIiLCBkcm9wbGV2ZWxzPSBUUlVFKQplbGxpcHNlRzMgPC0gc3Vic2V0KGRmX2VsbGlwc2UsIEdyb3VwID09ICJUMyIsIGRyb3BsZXZlbHM9IFRSVUUpCgoKI21ha2UgdGhlIGRhdGFmcmFtZSBhbmQgc3Vic2V0IG91dCBzYW1wbGVzIHlvdSBkb250IHdhbnQgdG8gcGxvdAp0ZXN0PC1kJGRmX29yZAp0ZXN0JFNhbXBsZV9JRDwtcm93bmFtZXModGVzdCkKI3Rlc3QkR3JvdXA9TlVMTApuYW1lcyh0ZXN0KTwtYygieCIsICJ5IiwiVGltZSIpCgojbWFrZSB0aGUgZ2dwbG90IHNjYXR0ZXIgcGxvdApwbG90X3Rlc3Q8LWdncGxvdCh0ZXN0LCBhZXMoeD10ZXN0JHgsIHk9dGVzdCR5KSwgY29sb3I9VGltZSkgICsgc2NhbGVfY29sb3JfbWFudWFsKHZhbHVlcz1jKCIjRjU2NEUzIiwgIiM2MTlDRkYiLCAiI0Y4NzY2RCIsICIjMDA5RTczIiwgIiMwMDAwMDAiKSkgKyBnZW9tX3BvaW50KGFlcyhjb2xvcj0gVGltZSkpCiNhZGQgcGF0aHMsIGNvbG9yLCBhbmQgc2l6ZSwgb2YgdGhlIGh1bGxzCnBsb3RfdGVzdCA8LSBwbG90X3Rlc3QgKwogICAgZ2VvbV9wYXRoKGRhdGE9IGVsbGlwc2VHMSwgYWVzKHg9eCwgeT15KSwgY29sb3I9IiNGNTY0RTMiLCBsaW5ldHlwZT0ic29saWQiLCBzaXplPTEuMCkgKwogICAgZ2VvbV9wYXRoKGRhdGE9IGVsbGlwc2VHMiwgYWVzKHg9eCwgeT15KSwgY29sb3I9IiM2MTlDRkYiLCBsaW5ldHlwZT0ic29saWQiLCBzaXplPTEuMCkgKwogICAgZ2VvbV9wYXRoKGRhdGE9IGVsbGlwc2VHMywgYWVzKHg9eCwgeT15KSwgY29sb3I9IiNGODc2NkQiLCBsaW5ldHlwZT0ic29saWQiLCBzaXplPTEuMCkgCgojdGhlbWUgaXQgb24gdXAKcGxvdF90ZXN0PC0gcGxvdF90ZXN0ICsgdGhlbWVfY2xhc3NpYygpCm08LXBsb3RfdGVzdCAKI20gPC1tICsgYW5ub3RhdGUoInRleHQiLCB4ID0gLTAuMDUsIHkgPSAtMC4wMTIsIGxhYmVsID0gIlRpbWUgMiIpCiNtIDwtbSArIGFubm90YXRlKCJ0ZXh0IiwgeCA9IDAuMDEsIHkgPSAtMC4wMSwgbGFiZWwgPSAiVGltZSAzIikKI20gPC1tICsgYW5ub3RhdGUoInRleHQiLCB4ID0gMC4wNDUsIHkgPSAtMC4wMjMsIGxhYmVsID0gIlRpbWUgMSIpCiNtIDwtbSArIGFubm90YXRlKCJ0ZXh0IiwgeCA9IDAuNCwgeSA9IC0wLjUsIGxhYmVsID0gIlRpbWU6IFAgID4gMC44IikKbTwtIG0gKyBsYWJzKHg9ICJOTURTMiIsIHk9Ik5NRFMxIikKZyA8LSBtICsgZ2d0aXRsZSgiQWF0cmV4IGJ5IHRpbWUiKSArIHRoZW1lKHBsb3QudGl0bGUgPSBlbGVtZW50X3RleHQoaGp1c3QgPSAwLjUsIHNpemUgPSAyMikpICAKZwoKCiNhZG9uaXMyIHRlc3RpbmcgYW5kIHBhaXJ3aXNlIGNvbXBhcmlzb25zIGZvciBhbGwgdDIgdDMgc2FtcGxlcyAKbGlicmFyeShwYWlyd2lzZUFkb25pcykKc3ViX2Vuel9vbmx5IDwtIGVuel9vbmx5WyFpcy5uYShlbnpfb25seSRMQVApLF0KI3N1Yl9lbnpfb25seSA8LSBzdWJfZW56X29ubHlbIXN1Yl9lbnpfb25seSRIZXJiaWNpZGU9PSJOb24tVHJlYXRlZCIsXQpzdWJfZW56X29ubHkgPC0gc3ViX2Vuel9vbmx5WyFzdWJfZW56X29ubHkkVGltZT09IlQxIixdCmVuel90YWJsZTwtc3ViX2Vuel9vbmx5WyxjKCJCRyIsICJDQkgiLCAiUEhPUyIsICJOQUciLCAiQlgiLCAiQUciLCAiTEFQIildCnNhbXBfZGF0YSA8LSBzdWJfZW56X29ubHlbLGMoIlRpbWUiLCAiVHJlYXRtZW50IildCnNhbXBfZGF0YSRUcmVhdG1lbnQ8LWFzLmZhY3RvcihzYW1wX2RhdGEkVHJlYXRtZW50KQpwc2Rpc3Q8LXBhckRpc3QoYXMubWF0cml4KGVuel90YWJsZSksIG1ldGhvZCA9ICJicmF5IikKCmFkb25pczIocHNkaXN0IH4gVHJlYXRtZW50LCBkYXRhID0gZGF0YS5mcmFtZShzYW1wX2RhdGEpLCBwZXJtdXRhdGlvbnMgPSAxMDAwKQpwYWlyd2lzZV90cmVhdDwtcGFpcndpc2UuYWRvbmlzMihwc2Rpc3QgfiBUcmVhdG1lbnQsIGRhdGEgPSBzYW1wX2RhdGEsIHBlcm09MTAwMCwgcC5hZGp1c3QubWV0aG9kcz0iYm9uZmVycm9uaSIpCgoKI2V4YW1pbmF0aW9uIG9mIGNoYW5nZXMgb3ZlciB0aW1lLiAKc3ViX2Vuel9vbmx5IDwtIGVuel9vbmx5WyFpcy5uYShlbnpfb25seSRMQVApLF0KI3N1Yl9lbnpfb25seSA8LSBzdWJfZW56X29ubHlbIXN1Yl9lbnpfb25seSRIZXJiaWNpZGU9PSJOb24tVHJlYXRlZCIsXQpzdWJfZW56X29ubHkgPC0gc3ViX2Vuel9vbmx5W3N1Yl9lbnpfb25seSRIZXJiaWNpZGU9PSJIYW5kIixdCmVuel90YWJsZTwtc3ViX2Vuel9vbmx5WyxjKCJCRyIsICJDQkgiLCAiUEhPUyIsICJOQUciLCAiQlgiLCAiQUciLCAiTEFQIildCnNhbXBfZGF0YSA8LSBzdWJfZW56X29ubHlbLGMoIlRpbWUiLCAiVHJlYXRtZW50IildCnBzZGlzdDwtcGFyRGlzdChhcy5tYXRyaXgoZW56X3RhYmxlKSwgbWV0aG9kID0gImJyYXkiKQphZG9uaXMyKHBzZGlzdCB+IFRpbWUgLCBkYXRhID0gZGF0YS5mcmFtZShzYW1wX2RhdGEpLCBwZXJtdXRhdGlvbnMgPSAxMDAwKQpwYWlyd2lzZV90aW1lPC1wYWlyd2lzZS5hZG9uaXMyKHBzZGlzdCB+IFRpbWUsIGRhdGEgPSBzYW1wX2RhdGEsIHBlcm09MTAwMCwgcC5hZGp1c3QubWV0aG9kcz0iYm9uZmVycm9uaSIpCnBhaXJ3aXNlX3RpbWUKYGBgCgoKQWF0cmV4IHdpdGggZ2xvYmFsIHRlc3QuIApgYGB7cn0KI0FhdHJleAojbmFtZXMoQWF0cmV4KQplbnp5bWVzPC0gYygiQkciLCAiQ0JIIiwgIlBIT1MiLCAiTkFHIiwgIkJYIiwgIkFHIiwgIkxBUCIpCiNBYXRyZXgkSGVyYmljaWRlPC1mYWN0b3IoQWF0cmV4JEhlcmJpY2lkZSwgbGV2ZWxzID0gYygiTm9uLVRyZWF0ZWQiLCAiSGFuZCIsICJBYXRyZXgiLCAiQ2xhcml0eSIsICJSb3VuZHVwIFBvd2VybWF4IiksIG9yZGVyZWQgPSBGKQojdW5pdmFyaWF0ZQpzdWJfQWF0cmV4IDwtIEFhdHJleFshaXMubmEoQWF0cmV4JExBUCksXQojdW5pdmFyaWF0ZQpvdXQ8LWxpc3QoKQptb2RlbHNfb3V0PC1saXN0KCkKcC5wcmVkaWN0PC1saXN0KCkKCmZvcihpIGluIDE6KGxlbmd0aChlbnp5bWVzKSkpewogIG1vZF9oZXJiIDwtIGdsbShmb3JtdWxhID0gbm9xdW90ZShwYXN0ZShlbnp5bWVzW2ldLCAifiBUaW1lICsgVG90YWxfV2VlZF9WZWciLCBzZXAgPSAiIikpLCBmYW1pbHkgPSBnYXVzc2lhbihsaW5rID0gImlkZW50aXR5IiksIGRhdGEgPSBzdWJfQWF0cmV4KQogIG1vZF9pbnRlciA8LSBnbG0oZm9ybXVsYSA9IG5vcXVvdGUocGFzdGUoZW56eW1lc1tpXSwgIn4gMSIsIHNlcCA9ICIiKSksIGZhbWlseSA9IGdhdXNzaWFuKGxpbmsgPSAiaWRlbnRpdHkiKSwgZGF0YSA9IHN1Yl9BYXRyZXgpCiAgZ2xvYl9zaWc8LWFub3ZhKG1vZF9pbnRlciwgbW9kX2hlcmIsIHRlc3QgPSAiRiIpCiAgICBpZihnbG9iX3NpZyRgUHIoPkYpYFsyXTw9MC4wNSl7CiAgICAgICAgdGVzdF9zdGF0czwtYyhnbG9iX3NpZyRgUmVzaWQuIERmYCwgZ2xvYl9zaWckRlsyXSwgZ2xvYl9zaWckYFByKD5GKWBbMl0pCiAgICAgICAgbmFtZXModGVzdF9zdGF0cykgPC0gYygiREZfcmVzIiwgIkRGX251bGwiLCAiRi1zdGF0IiwgInAtdmFsIikKICAgICAgICBzdW1fbW9kZWw8LXN1bW1hcnkobW9kX2hlcmIpCiAgICAgICAgcG9zdF9ob2M8LXN1bW1hcnkoZ2xodChtb2RfaGVyYiwgbWNwKFRpbWU9IlR1a2V5IikpKQogICAgIyBwPC1hbm92YShtb2RfaGVyYiwgbW9kX2ludGVyKQogICAgICAgICMgIHAudmFsczwtYyhwLnZhbHMsIGxpc3QocCkpCiAgICAgICAgc2lnbmlmaWNhbmNlX3ByZWRpYzwtZHJvcDEobW9kX2hlcmIsIHRlc3QgPSAiRiIpCiAgICAgICAgb3V0PC1jKG91dCwgbGlzdChwb3N0X2hvYyksIGVuenltZXNbaV0pCiAgICAgICAgbW9kZWxzX291dCA8LSBjKG1vZGVsc19vdXQsIGVuenltZXNbaV0sIGxpc3QodGVzdF9zdGF0cyksIGxpc3Qoc3VtX21vZGVsKSkKICAgICAgICBwLnByZWRpY3QgPC0gYyhwLnByZWRpY3QsIGxpc3Qoc2lnbmlmaWNhbmNlX3ByZWRpYyksIGVuenltZXNbaV0pCiAgICB9Cgp9Cm1vZGVsc19vdXQKcC5wcmVkaWN0Cm91dAoKI2NvbnZlcnQgdG8gbG9uZyBmb3JtYXQgZm9yIGdncGxvdApzdWJBYXRyZXhfbG9uZyA8LSBzdWJfQWF0cmV4WyxjKCJUaW1lIiwgIkJHIiwgIkNCSCIsICJQSE9TIiwgIk5BRyIsICJCWCIsICJBRyIsICJMQVAiLCAiQy5OX2VueiIpXSAlPiUgCiAgZ2F0aGVyKGtleSA9ICJFbnp5bWUiLCB2YWx1ZSA9ICJBY3Rpdml0eSIsQkcsIENCSCwgUEhPUywgTkFHLCBCWCwgQUcsIExBUCwgQy5OX2VueiApCgojZ2dwbG90KHN1YkFhdHJleF9sb25nLCBhZXNfc3RyaW5nKHggPSAiVGltZSIsIHk9ICJBY3Rpdml0eSIsIGZpbGw9IlRpbWUiKSkgKyBnZW9tX2JveHBsb3QoKSArIHRoZW1lX2NsYXNzaWMoKSArIGZhY2V0X3dyYXAofiBFbnp5bWUsIHNjYWxlcyA9ICJmcmVlX3kiKSArIHRoZW1lKGF4aXMudGV4dC54ID0gZWxlbWVudF90ZXh0KGFuZ2xlID0gNDUsIGhqdXN0ID0gMSkpICsgZ2d0aXRsZSgiQWF0cmV4IGJ5IHRpbWUiKSArIHRoZW1lKHBsb3QudGl0bGU9IGVsZW1lbnRfdGV4dCggaGp1c3QgPSAwLjUsIHNpemUgPSAyMikpCgpkb3NlLmxhYnMgPC0gYygiQUciLCJCRyIsIkJYIiwiUEhPUyIsICJDIGVuenltZXMgOiBOIGVuenltZXMiKQpuYW1lcyhkb3NlLmxhYnMpIDwtIGMoIkFHIiwiQkciLCAiQlgiLCAiUEhPUyIsICJDLk5fZW56IikKCmFhVVYxPC1nZ3Bsb3Qoc3ViQWF0cmV4X2xvbmcsIGFlc19zdHJpbmcoeCA9ICJUaW1lIiwgeT0gIkFjdGl2aXR5IiwgZmlsbD0iVGltZSIpKSArIGdlb21fYm94cGxvdCgpICsgdGhlbWVfY2xhc3NpYygpICsgZmFjZXRfd3JhcCh+IEVuenltZSwgc2NhbGVzID0gImZyZWVfeSIsIGxhYmVsbGVyID0gbGFiZWxsZXIoRW56eW1lID0gZG9zZS5sYWJzKSkgKyB0aGVtZV9jbGFzc2ljKCkgKwogICBnZ3RpdGxlKCIiKSArIHRoZW1lKHBsb3QudGl0bGU9IGVsZW1lbnRfdGV4dCggaGp1c3QgPSAwLjUsIHNpemUgPSAyMikpICsgeWxhYigiQWN0aXZpdHkgKG5tb2wvaC9nKSIpICsgeGxhYigiU2FtcGxpbmcgdGltZSIpICArIHNjYWxlX2ZpbGxfZGlzY3JldGUobmFtZSA9ICJTYW1wbGluZyB0aW1lIiwgbGFiZWxzID0gYygiVGltZSBvbmUiLCAiVGltZSB0d28iLCAiVGltZSB0aHJlZSIpKSArIHRoZW1lKGF4aXMudGV4dC55ID0gZWxlbWVudF90ZXh0KHNpemU9MTIpKSAgKyAKICB0aGVtZShheGlzLnRpY2tzID0gZWxlbWVudF9ibGFuaygpLCBheGlzLnRleHQueCA9IGVsZW1lbnRfYmxhbmsoKSwgYXhpcy50aXRsZS54ID0gZWxlbWVudF90ZXh0KHNpemUgPSAxMikpICArIAogICAgICAgdGhlbWUoc3RyaXAudGV4dC54ID0gZWxlbWVudF90ZXh0KHNpemUgPSA5LCBjb2xvdXIgPSAiYmxhY2siLCBhbmdsZSA9IDApKSArIHRoZW1lKGF4aXMudGl0bGUueSA9IGVsZW1lbnRfdGV4dChzaXplPTE1KSkgICsgIHRoZW1lKHN0cmlwLnRleHQueCA9IGVsZW1lbnRfdGV4dChzaXplID0gIDEyKSkgI3RoZW1lKGxlZ2VuZC5wb3NpdGlvbj0ibm9uZSIpICsgCgojbXVsdGl2YXJpYXRlCmVuel90YWJsZTwtc3ViX0FhdHJleFssYygiQkciLCAiQ0JIIiwgIlBIT1MiLCAiTkFHIiwgIkJYIiwgIkFHIiwgIkxBUCIpXQpzYW1wX2RhdGEgPC0gc3ViX0FhdHJleFssYygiVGltZSIsICJUcmVhdG1lbnQiLCAiVG90YWxfV2VlZF9WZWciKV0KCnBzZGlzdDwtcGFyRGlzdChhcy5tYXRyaXgoZW56X3RhYmxlKSwgbWV0aG9kID0gImJyYXkiKQoKYWRvbmlzMihwc2Rpc3QgfiBUaW1lICsgVG90YWxfV2VlZF9WZWcsIGRhdGEgPSBkYXRhLmZyYW1lKHNhbXBfZGF0YSksIHBlcm11dGF0aW9ucyA9IDEwMDApCgpBYXRyZXhfb3JkPC1tZXRhTURTKG5hLm9taXQoc3ViX0FhdHJleFssYygiQkciLCAiQ0JIIiwgIlBIT1MiLCAiTkFHIiwgIkJYIiwgIkFHIiwgIkxBUCIpXSksIGRpc3RhbmNlID0gImJyYXkiICkKc3RyZXNzcGxvdChBYXRyZXhfb3JkKQoKb3JkPC1BYXRyZXhfb3JkCiNtYWtlIHRoZSBwbG90IHdpdGggZXZlcnl0aGluZyAKZCA8LSBnZ19vcmRpcGxvdChvcmQsIHNhbXBfZGF0YSRUaW1lLCBjaG9pY2VzID0gYygxLCAyKSwga2luZCA9IGMoInNlIiksIGNvbmYgPSAwLjk1LCBzaG93Lmdyb3VwcyA9ICJhbGwiLCBlbGxpcHNlID0gVFJVRSwgbGFiZWwgPSBGQUxTRSwgaHVsbCA9IEZBTFNFLCBzcGlkZXJzID0gRkFMU0UsIHBsb3QgPSBUUlVFLCBwdC5zaXplID0gMSkgCiNwdWxsIG91dCB0aGUgZWxsaXBzZXMKZGZfZWxsaXBzZSA8LSBkJGRmX2VsbGlwc2UKZWxsaXBzZUcxIDwtIHN1YnNldChkZl9lbGxpcHNlLCBHcm91cCA9PSAiVDEiLCBkcm9wbGV2ZWxzPSBUUlVFKQplbGxpcHNlRzIgPC0gc3Vic2V0KGRmX2VsbGlwc2UsIEdyb3VwID09ICJUMiIsIGRyb3BsZXZlbHM9IFRSVUUpCmVsbGlwc2VHMyA8LSBzdWJzZXQoZGZfZWxsaXBzZSwgR3JvdXAgPT0gIlQzIiwgZHJvcGxldmVscz0gVFJVRSkKCgojbWFrZSB0aGUgZGF0YWZyYW1lIGFuZCBzdWJzZXQgb3V0IHNhbXBsZXMgeW91IGRvbnQgd2FudCB0byBwbG90CnRlc3Q8LWQkZGZfb3JkCnRlc3QkU2FtcGxlX0lEPC1yb3duYW1lcyh0ZXN0KQojdGVzdCRHcm91cD1OVUxMCm5hbWVzKHRlc3QpPC1jKCJ4IiwgInkiLCJUaW1lIikKCiNtYWtlIHRoZSBnZ3Bsb3Qgc2NhdHRlciBwbG90CnBsb3RfdGVzdDwtZ2dwbG90KHRlc3QsIGFlcyh4PXRlc3QkeCwgeT10ZXN0JHkpLCBjb2xvcj1UaW1lKSAgKyBzY2FsZV9jb2xvcl9tYW51YWwodmFsdWVzPWMoIiNGNTY0RTMiLCAiIzYxOUNGRiIsICIjRjg3NjZEIiwgIiMwMDlFNzMiLCAiIzAwMDAwMCIpKSArIGdlb21fcG9pbnQoYWVzKGNvbG9yPSBUaW1lKSkKI2FkZCBwYXRocywgY29sb3IsIGFuZCBzaXplLCBvZiB0aGUgaHVsbHMKcGxvdF90ZXN0IDwtIHBsb3RfdGVzdCArCiAgICBnZW9tX3BhdGgoZGF0YT0gZWxsaXBzZUcxLCBhZXMoeD14LCB5PXkpLCBjb2xvcj0iI0Y1NjRFMyIsIGxpbmV0eXBlPSJzb2xpZCIsIHNpemU9MS4wKSArCiAgICBnZW9tX3BhdGgoZGF0YT0gZWxsaXBzZUcyLCBhZXMoeD14LCB5PXkpLCBjb2xvcj0iIzYxOUNGRiIsIGxpbmV0eXBlPSJzb2xpZCIsIHNpemU9MS4wKSArCiAgICBnZW9tX3BhdGgoZGF0YT0gZWxsaXBzZUczLCBhZXMoeD14LCB5PXkpLCBjb2xvcj0iI0Y4NzY2RCIsIGxpbmV0eXBlPSJzb2xpZCIsIHNpemU9MS4wKSAKCiN0aGVtZSBpdCBvbiB1cApwbG90X3Rlc3Q8LSBwbG90X3Rlc3QgKyB0aGVtZV9jbGFzc2ljKCkKbTwtcGxvdF90ZXN0IAojbSA8LW0gKyBhbm5vdGF0ZSgidGV4dCIsIHggPSAtMC4wNSwgeSA9IC0wLjAxMiwgbGFiZWwgPSAiVGltZSAyIikKI20gPC1tICsgYW5ub3RhdGUoInRleHQiLCB4ID0gMC4wMSwgeSA9IC0wLjAxLCBsYWJlbCA9ICJUaW1lIDMiKQojbSA8LW0gKyBhbm5vdGF0ZSgidGV4dCIsIHggPSAwLjA0NSwgeSA9IC0wLjAyMywgbGFiZWwgPSAiVGltZSAxIikKI20gPC1tICsgYW5ub3RhdGUoInRleHQiLCB4ID0gMC40LCB5ID0gLTAuNSwgbGFiZWwgPSAiVGltZTogUCAgPiAwLjgiKQptPC0gbSArIGxhYnMoeD0gIk5NRFMyIiwgeT0iTk1EUzEiKQpnIDwtIG0gKyBnZ3RpdGxlKCJBYXRyZXggYnkgdGltZSIpICsgdGhlbWUocGxvdC50aXRsZSA9IGVsZW1lbnRfdGV4dChoanVzdCA9IDAuNSwgc2l6ZSA9IDIyKSkgIApnCmBgYAoKQ2xhcml0eQpgYGB7cn0KI0NsYXJpdHkKI25hbWVzKENsYXJpdHkpCmVuenltZXM8LSBjKCJCRyIsICJDQkgiLCAiUEhPUyIsICJOQUciLCAiQlgiLCAiQUciLCAiTEFQIikKc3ViX0NsYXJpdHkgPC0gQ2xhcml0eVshaXMubmEoQ2xhcml0eSRMQVApLF0KI3VuaXZhcmlhdGUKb3V0PC1saXN0KCkKbW9kZWxzX291dDwtbGlzdCgpCnAucHJlZGljdDwtbGlzdCgpCgpmb3IoaSBpbiAxOihsZW5ndGgoZW56eW1lcykpKXsKICBtb2RfaGVyYiA8LSBnbG0oZm9ybXVsYSA9IG5vcXVvdGUocGFzdGUoZW56eW1lc1tpXSwgIn4gVGltZSArIFRvdGFsX1dlZWRfVmVnIiwgc2VwID0gIiIpKSwgZmFtaWx5ID0gZ2F1c3NpYW4obGluayA9ICJpZGVudGl0eSIpLCBkYXRhID0gc3ViX0NsYXJpdHkpCiAgbW9kX2ludGVyIDwtIGdsbShmb3JtdWxhID0gbm9xdW90ZShwYXN0ZShlbnp5bWVzW2ldLCAifiAxIiwgc2VwID0gIiIpKSwgZmFtaWx5ID0gZ2F1c3NpYW4obGluayA9ICJpZGVudGl0eSIpLCBkYXRhID0gc3ViX0NsYXJpdHkpCiAgZ2xvYl9zaWc8LWFub3ZhKG1vZF9pbnRlciwgbW9kX2hlcmIsIHRlc3QgPSAiRiIpCiAgICBpZihnbG9iX3NpZyRgUHIoPkYpYFsyXTw9MC4wNSl7CiAgICAgICAgdGVzdF9zdGF0czwtYyhnbG9iX3NpZyRgUmVzaWQuIERmYCwgZ2xvYl9zaWckRlsyXSwgZ2xvYl9zaWckYFByKD5GKWBbMl0pCiAgICAgICAgbmFtZXModGVzdF9zdGF0cykgPC0gYygiREZfcmVzIiwgIkRGX251bGwiLCAiRi1zdGF0IiwgInAtdmFsIikKICAgICAgICBzdW1fbW9kZWw8LXN1bW1hcnkobW9kX2hlcmIpCiAgICAgICAgcG9zdF9ob2M8LXN1bW1hcnkoZ2xodChtb2RfaGVyYiwgbWNwKFRpbWU9IlR1a2V5IikpKQogICAgIyBwPC1hbm92YShtb2RfaGVyYiwgbW9kX2ludGVyKQogICAgICAgICMgIHAudmFsczwtYyhwLnZhbHMsIGxpc3QocCkpCiAgICAgICAgc2lnbmlmaWNhbmNlX3ByZWRpYzwtZHJvcDEobW9kX2hlcmIsIHRlc3QgPSAiRiIpCiAgICAgICAgb3V0PC1jKG91dCwgbGlzdChwb3N0X2hvYyksIGVuenltZXNbaV0pCiAgICAgICAgbW9kZWxzX291dCA8LSBjKG1vZGVsc19vdXQsIGVuenltZXNbaV0sIGxpc3QodGVzdF9zdGF0cyksIGxpc3Qoc3VtX21vZGVsKSkKICAgICAgICBwLnByZWRpY3QgPC0gYyhwLnByZWRpY3QsIGxpc3Qoc2lnbmlmaWNhbmNlX3ByZWRpYyksIGVuenltZXNbaV0pCiAgICB9Cgp9Cm1vZGVsc19vdXQKcC5wcmVkaWN0Cm91dAoKI2NvbnZlcnQgdG8gbG9uZyBmb3JtYXQgZm9yIGdncGxvdApzdWJDbGFyaXR5X2xvbmcgPC0gc3ViX0NsYXJpdHlbLGMoIlRpbWUiLCAiQkciLCAiQ0JIIiwgIlBIT1MiLCAiTkFHIiwgIkJYIiwgIkFHIiwgIkxBUCIsICJDLk5fZW56IildICU+JSAKICBnYXRoZXIoa2V5ID0gIkVuenltZSIsIHZhbHVlID0gIkFjdGl2aXR5IixCRywgQ0JILCBQSE9TLCBOQUcsIEJYLCBBRywgTEFQLEMuTl9lbnogKQoKI2dncGxvdChzdWJDbGFyaXR5X2xvbmcsIGFlc19zdHJpbmcoeCA9ICJUaW1lIiwgeT0gIkFjdGl2aXR5IiwgZmlsbD0iVGltZSIpKSArIGdlb21fYm94cGxvdCgpICsgdGhlbWVfY2xhc3NpYygpICsgZmFjZXRfd3JhcCh+IEVuenltZSwgc2NhbGVzID0gImZyZWVfeSIpICsgdGhlbWUoYXhpcy50ZXh0LnggPSBlbGVtZW50X3RleHQoYW5nbGUgPSA0NSwgaGp1c3QgPSAxKSkgKyBnZ3RpdGxlKCJDbGFyaXR5IGJ5IHRpbWUiKSArIHRoZW1lKHBsb3QudGl0bGU9IGVsZW1lbnRfdGV4dCggaGp1c3QgPSAwLjUsIHNpemUgPSAyMikpCgoKZG9zZS5sYWJzIDwtIGMoIkFHIiwiQkciLCJCWCIsIlBIT1MiLCAiQyBlbnp5bWVzIDogTiBlbnp5bWVzIikKbmFtZXMoZG9zZS5sYWJzKSA8LSBjKCJBRyIsIkJHIiwgIkJYIiwgIlBIT1MiLCAiQy5OX2VueiIpCgpjbFVWMTwtZ2dwbG90KHN1YkNsYXJpdHlfbG9uZywgYWVzX3N0cmluZyh4ID0gIlRpbWUiLCB5PSAiQWN0aXZpdHkiLCBmaWxsPSJUaW1lIikpICsgZ2VvbV9ib3hwbG90KCkgKyB0aGVtZV9jbGFzc2ljKCkgKyBmYWNldF93cmFwKH4gRW56eW1lLCBzY2FsZXMgPSAiZnJlZV95IiwgbGFiZWxsZXIgPSBsYWJlbGxlcihFbnp5bWUgPSBkb3NlLmxhYnMpKSArIHRoZW1lX2NsYXNzaWMoKSArCiAgIGdndGl0bGUoIiIpICsgdGhlbWUocGxvdC50aXRsZT0gZWxlbWVudF90ZXh0KCBoanVzdCA9IDAuNSwgc2l6ZSA9IDIyKSkgKyB5bGFiKCJBY3Rpdml0eSAobm1vbC9oL2cpIikgKyB4bGFiKCJTYW1wbGluZyB0aW1lIikgICsgc2NhbGVfZmlsbF9kaXNjcmV0ZShuYW1lID0gIlNhbXBsaW5nIHRpbWUiLCBsYWJlbHMgPSBjKCJUaW1lIG9uZSIsICJUaW1lIHR3byIsICJUaW1lIHRocmVlIikpICsgdGhlbWUoYXhpcy50ZXh0LnkgPSBlbGVtZW50X3RleHQoc2l6ZT0xMikpICArIAogIHRoZW1lKGF4aXMudGlja3MgPSBlbGVtZW50X2JsYW5rKCksIGF4aXMudGV4dC54ID0gZWxlbWVudF9ibGFuaygpLCBheGlzLnRpdGxlLnggPSBlbGVtZW50X3RleHQoc2l6ZSA9IDEyKSkgICsgCiAgICAgICB0aGVtZShzdHJpcC50ZXh0LnggPSBlbGVtZW50X3RleHQoc2l6ZSA9IDksIGNvbG91ciA9ICJibGFjayIsIGFuZ2xlID0gMCkpICsgdGhlbWUoYXhpcy50aXRsZS55ID0gZWxlbWVudF90ZXh0KHNpemU9MTUpKSAgKyAgdGhlbWUoc3RyaXAudGV4dC54ID0gZWxlbWVudF90ZXh0KHNpemUgPSAgMTIpKSAjdGhlbWUobGVnZW5kLnBvc2l0aW9uPSJub25lIikgKyAKCiNtdWx0aXZhcmlhdGUKZW56X3RhYmxlPC1zdWJfQ2xhcml0eVssYygiQkciLCAiQ0JIIiwgIlBIT1MiLCAiTkFHIiwgIkJYIiwgIkFHIiwgIkxBUCIpXQpzYW1wX2RhdGEgPC0gc3ViX0NsYXJpdHlbLGMoIlRpbWUiLCAiVHJlYXRtZW50IiwgIlRvdGFsX1dlZWRfVmVnIildCgpwc2Rpc3Q8LXBhckRpc3QoYXMubWF0cml4KGVuel90YWJsZSksIG1ldGhvZCA9ICJicmF5IikKCmFkb25pczIocHNkaXN0IH4gVGltZSArIFRvdGFsX1dlZWRfVmVnLCBkYXRhID0gZGF0YS5mcmFtZShzYW1wX2RhdGEpLCBwZXJtdXRhdGlvbnMgPSAxMDAwKQoKQ2xhcml0eV9vcmQ8LW1ldGFNRFMobmEub21pdChzdWJfQ2xhcml0eVssYygiQkciLCAiQ0JIIiwgIlBIT1MiLCAiTkFHIiwgIkJYIiwgIkFHIiwgIkxBUCIpXSksIGRpc3RhbmNlID0gImJyYXkiICkKc3RyZXNzcGxvdChDbGFyaXR5X29yZCkKCm9yZDwtQ2xhcml0eV9vcmQKI21ha2UgdGhlIHBsb3Qgd2l0aCBldmVyeXRoaW5nIApkIDwtIGdnX29yZGlwbG90KG9yZCwgc2FtcF9kYXRhJFRpbWUsIGNob2ljZXMgPSBjKDEsIDIpLCBraW5kID0gYygic2UiKSwgY29uZiA9IDAuOTUsIHNob3cuZ3JvdXBzID0gImFsbCIsIGVsbGlwc2UgPSBUUlVFLCBsYWJlbCA9IEZBTFNFLCBodWxsID0gRkFMU0UsIHNwaWRlcnMgPSBGQUxTRSwgcGxvdCA9IFRSVUUsIHB0LnNpemUgPSAxKSAKI3B1bGwgb3V0IHRoZSBlbGxpcHNlcwpkZl9lbGxpcHNlIDwtIGQkZGZfZWxsaXBzZQplbGxpcHNlRzEgPC0gc3Vic2V0KGRmX2VsbGlwc2UsIEdyb3VwID09ICJUMSIsIGRyb3BsZXZlbHM9IFRSVUUpCmVsbGlwc2VHMiA8LSBzdWJzZXQoZGZfZWxsaXBzZSwgR3JvdXAgPT0gIlQyIiwgZHJvcGxldmVscz0gVFJVRSkKZWxsaXBzZUczIDwtIHN1YnNldChkZl9lbGxpcHNlLCBHcm91cCA9PSAiVDMiLCBkcm9wbGV2ZWxzPSBUUlVFKQoKCiNtYWtlIHRoZSBkYXRhZnJhbWUgYW5kIHN1YnNldCBvdXQgc2FtcGxlcyB5b3UgZG9udCB3YW50IHRvIHBsb3QKdGVzdDwtZCRkZl9vcmQKdGVzdCRTYW1wbGVfSUQ8LXJvd25hbWVzKHRlc3QpCiN0ZXN0JEdyb3VwPU5VTEwKbmFtZXModGVzdCk8LWMoIngiLCAieSIsIlRpbWUiKQoKI21ha2UgdGhlIGdncGxvdCBzY2F0dGVyIHBsb3QKcGxvdF90ZXN0PC1nZ3Bsb3QodGVzdCwgYWVzKHg9dGVzdCR4LCB5PXRlc3QkeSksIGNvbG9yPVRpbWUpICArIHNjYWxlX2NvbG9yX21hbnVhbCh2YWx1ZXM9YygiI0Y1NjRFMyIsICIjNjE5Q0ZGIiwgIiNGODc2NkQiLCAiIzAwOUU3MyIsICIjMDAwMDAwIikpICsgZ2VvbV9wb2ludChhZXMoY29sb3I9IFRpbWUpKQojYWRkIHBhdGhzLCBjb2xvciwgYW5kIHNpemUsIG9mIHRoZSBodWxscwpwbG90X3Rlc3QgPC0gcGxvdF90ZXN0ICsKICAgIGdlb21fcGF0aChkYXRhPSBlbGxpcHNlRzEsIGFlcyh4PXgsIHk9eSksIGNvbG9yPSIjRjU2NEUzIiwgbGluZXR5cGU9InNvbGlkIiwgc2l6ZT0xLjApICsKICAgIGdlb21fcGF0aChkYXRhPSBlbGxpcHNlRzIsIGFlcyh4PXgsIHk9eSksIGNvbG9yPSIjNjE5Q0ZGIiwgbGluZXR5cGU9InNvbGlkIiwgc2l6ZT0xLjApICsKICAgIGdlb21fcGF0aChkYXRhPSBlbGxpcHNlRzMsIGFlcyh4PXgsIHk9eSksIGNvbG9yPSIjRjg3NjZEIiwgbGluZXR5cGU9InNvbGlkIiwgc2l6ZT0xLjApIAoKI3RoZW1lIGl0IG9uIHVwCnBsb3RfdGVzdDwtIHBsb3RfdGVzdCArIHRoZW1lX2NsYXNzaWMoKQptPC1wbG90X3Rlc3QgCiNtIDwtbSArIGFubm90YXRlKCJ0ZXh0IiwgeCA9IC0wLjA1LCB5ID0gLTAuMDEyLCBsYWJlbCA9ICJUaW1lIDIiKQojbSA8LW0gKyBhbm5vdGF0ZSgidGV4dCIsIHggPSAwLjAxLCB5ID0gLTAuMDEsIGxhYmVsID0gIlRpbWUgMyIpCiNtIDwtbSArIGFubm90YXRlKCJ0ZXh0IiwgeCA9IDAuMDQ1LCB5ID0gLTAuMDIzLCBsYWJlbCA9ICJUaW1lIDEiKQojbSA8LW0gKyBhbm5vdGF0ZSgidGV4dCIsIHggPSAwLjQsIHkgPSAtMC41LCBsYWJlbCA9ICJUaW1lOiBQICA+IDAuOCIpCm08LSBtICsgbGFicyh4PSAiTk1EUzIiLCB5PSJOTURTMSIpCmcgPC0gbSArIGdndGl0bGUoIkNsYXJpdHkgYnkgdGltZSIpICsgdGhlbWUocGxvdC50aXRsZSA9IGVsZW1lbnRfdGV4dChoanVzdCA9IDAuNSwgc2l6ZSA9IDIyKSkgIApnCmBgYAoKSGFuZHdlZWQKYGBge3J9CiNIYW5kd2VlZAplbnp5bWVzPC0gYygiQkciLCAiQ0JIIiwgIlBIT1MiLCAiTkFHIiwgIkJYIiwgIkFHIiwgIkxBUCIpCnN1Yl9IYW5kd2VlZCA8LSBIYW5kd2VlZFshaXMubmEoSGFuZHdlZWQkTEFQKSxdCiN1bml2YXJpYXRlCm91dDwtbGlzdCgpCm1vZGVsc19vdXQ8LWxpc3QoKQpwLnByZWRpY3Q8LWxpc3QoKQoKZm9yKGkgaW4gMToobGVuZ3RoKGVuenltZXMpKSl7CiAgbW9kX2hlcmIgPC0gZ2xtKGZvcm11bGEgPSBub3F1b3RlKHBhc3RlKGVuenltZXNbaV0sICJ+IFRpbWUgKyBUb3RhbF9XZWVkX1ZlZyIsIHNlcCA9ICIiKSksIGZhbWlseSA9IGdhdXNzaWFuKGxpbmsgPSAiaWRlbnRpdHkiKSwgZGF0YSA9IHN1Yl9IYW5kd2VlZCkKICBtb2RfaW50ZXIgPC0gZ2xtKGZvcm11bGEgPSBub3F1b3RlKHBhc3RlKGVuenltZXNbaV0sICJ+IDEiLCBzZXAgPSAiIikpLCBmYW1pbHkgPSBnYXVzc2lhbihsaW5rID0gImlkZW50aXR5IiksIGRhdGEgPSBzdWJfSGFuZHdlZWQpCiAgZ2xvYl9zaWc8LWFub3ZhKG1vZF9pbnRlciwgbW9kX2hlcmIsIHRlc3QgPSAiRiIpCiAgICBpZihnbG9iX3NpZyRgUHIoPkYpYFsyXTw9MC4wNSl7CiAgICAgICAgdGVzdF9zdGF0czwtYyhnbG9iX3NpZyRgUmVzaWQuIERmYCwgZ2xvYl9zaWckRlsyXSwgZ2xvYl9zaWckYFByKD5GKWBbMl0pCiAgICAgICAgbmFtZXModGVzdF9zdGF0cykgPC0gYygiREZfcmVzIiwgIkRGX251bGwiLCAiRi1zdGF0IiwgInAtdmFsIikKICAgICAgICBzdW1fbW9kZWw8LXN1bW1hcnkobW9kX2hlcmIpCiAgICAgICAgcG9zdF9ob2M8LXN1bW1hcnkoZ2xodChtb2RfaGVyYiwgbWNwKFRpbWU9IlR1a2V5IikpKQogICAgIyBwPC1hbm92YShtb2RfaGVyYiwgbW9kX2ludGVyKQogICAgICAgICMgIHAudmFsczwtYyhwLnZhbHMsIGxpc3QocCkpCiAgICAgICAgc2lnbmlmaWNhbmNlX3ByZWRpYzwtZHJvcDEobW9kX2hlcmIsIHRlc3QgPSAiRiIpCiAgICAgICAgb3V0PC1jKG91dCwgbGlzdChwb3N0X2hvYyksIGVuenltZXNbaV0pCiAgICAgICAgbW9kZWxzX291dCA8LSBjKG1vZGVsc19vdXQsIGVuenltZXNbaV0sIGxpc3QodGVzdF9zdGF0cyksIGxpc3Qoc3VtX21vZGVsKSkKICAgICAgICBwLnByZWRpY3QgPC0gYyhwLnByZWRpY3QsIGxpc3Qoc2lnbmlmaWNhbmNlX3ByZWRpYyksIGVuenltZXNbaV0pCiAgICB9Cgp9Cm1vZGVsc19vdXQKcC5wcmVkaWN0Cm91dAojY29udmVydCB0byBsb25nIGZvcm1hdCBmb3IgZ2dwbG90CnN1YkhhbmR3ZWVkX2xvbmcgPC0gc3ViX0hhbmR3ZWVkWyxjKCJUaW1lIiwgIkJHIiwgIkNCSCIsICJQSE9TIiwgIk5BRyIsICJCWCIsICJBRyIsICJMQVAiLCAiQy5OX2VueiIpXSAlPiUgCiAgZ2F0aGVyKGtleSA9ICJFbnp5bWUiLCB2YWx1ZSA9ICJBY3Rpdml0eSIsQUcsQkcsIFBIT1MsIExBUCwgQlgsIEMuTl9lbnogKQoKSFdfVVY8LWdncGxvdChzdWJIYW5kd2VlZF9sb25nLCBhZXNfc3RyaW5nKHggPSAiVGltZSIsIHk9ICJBY3Rpdml0eSIsIGZpbGw9IlRpbWUiKSkgKyBnZW9tX2JveHBsb3QoKSArIHRoZW1lX2NsYXNzaWMoKSArIGZhY2V0X3dyYXAofiBFbnp5bWUsIHNjYWxlcyA9ICJmcmVlX3kiKSArIHRoZW1lKGF4aXMudGV4dC54ID0gZWxlbWVudF90ZXh0KGFuZ2xlID0gNDUsIGhqdXN0ID0gMSkpICArIGdndGl0bGUoIkhhbmR3ZWVkIGJ5IHRpbWUiKSArIHRoZW1lKHBsb3QudGl0bGU9IGVsZW1lbnRfdGV4dCggaGp1c3QgPSAwLjUsIHNpemUgPSAyMikpCgpzdWJIYW5kd2VlZF9sb25nJEVuenltZTwtZmFjdG9yKHN1YkhhbmR3ZWVkX2xvbmckRW56eW1lLCBsZXZlbHMgPSBjKCJBRyIsICJCRyIsICJCWCIsICJQSE9TIiwgIkxBUCIsICJDLk5fZW56IikpCgpkb3NlLmxhYnMgPC0gYygiQUciLCJCRyIsIkJYIiwiUEhPUyIsICJMQVAiLCAgIkMgZW56eW1lcyA6IE4gZW56eW1lcyIpCm5hbWVzKGRvc2UubGFicykgPC0gYygiQUciLCJCRyIsICJCWCIsICJQSE9TIiwgIkxBUCIsICJDLk5fZW56IikKCkhXX1VWMTwtZ2dwbG90KHN1YkhhbmR3ZWVkX2xvbmcsIGFlc19zdHJpbmcoeCA9ICJUaW1lIiwgeT0gIkFjdGl2aXR5IiwgZmlsbD0iVGltZSIpKSArIGdlb21fYm94cGxvdCgpICsgdGhlbWVfY2xhc3NpYygpICsgZmFjZXRfd3JhcCh+IEVuenltZSwgc2NhbGVzID0gImZyZWVfeSIsIGxhYmVsbGVyID0gbGFiZWxsZXIoRW56eW1lID0gZG9zZS5sYWJzKSkgKyB0aGVtZV9jbGFzc2ljKCkgKwogICBnZ3RpdGxlKCJIYW5kd2VlZGVkIikgKyB0aGVtZShwbG90LnRpdGxlPSBlbGVtZW50X3RleHQoIGhqdXN0ID0gMC41LCBzaXplID0gMTUpKSArIHlsYWIoIkFjdGl2aXR5IChubW9sL2gvZykiKSArIHhsYWIoIlNhbXBsaW5nIHRpbWUiKSAgKyBzY2FsZV9maWxsX2Rpc2NyZXRlKG5hbWUgPSAiU2FtcGxpbmcgdGltZSIsIGxhYmVscyA9IGMoIlRpbWUgb25lIiwgIlRpbWUgdHdvIiwgIlRpbWUgdGhyZWUiKSkgKyB0aGVtZShheGlzLnRleHQueSA9IGVsZW1lbnRfdGV4dChzaXplPTEyKSkgICsgCiAgdGhlbWUoYXhpcy50aWNrcyA9IGVsZW1lbnRfYmxhbmsoKSwgYXhpcy50ZXh0LnggPSBlbGVtZW50X2JsYW5rKCksIGF4aXMudGl0bGUueCA9IGVsZW1lbnRfdGV4dChzaXplID0gMTIpKSAgKyAKICAgICAgIHRoZW1lKHN0cmlwLnRleHQueCA9IGVsZW1lbnRfdGV4dChzaXplID0gOSwgY29sb3VyID0gImJsYWNrIiwgYW5nbGUgPSAwKSkgKyB0aGVtZShheGlzLnRpdGxlLnkgPSBlbGVtZW50X3RleHQoc2l6ZT0xNSkpICArICB0aGVtZShzdHJpcC50ZXh0LnggPSBlbGVtZW50X3RleHQoc2l6ZSA9ICAxMikpICN0aGVtZShsZWdlbmQucG9zaXRpb249Im5vbmUiKSArIAoKI211bHRpdmFyaWF0ZQplbnpfdGFibGU8LXN1Yl9IYW5kd2VlZFssYygiQkciLCAiQ0JIIiwgIlBIT1MiLCAiTkFHIiwgIkJYIiwgIkFHIiwgIkxBUCIpXQpzYW1wX2RhdGEgPC0gc3ViX0hhbmR3ZWVkWyxjKCJUaW1lIiwgIlRyZWF0bWVudCIsICJUb3RhbF9XZWVkX1ZlZyIpXQoKcHNkaXN0PC1wYXJEaXN0KGFzLm1hdHJpeChlbnpfdGFibGUpLCBtZXRob2QgPSAiYnJheSIpCgphZG9uaXMyKHBzZGlzdCB+IFRpbWUgKyBUb3RhbF9XZWVkX1ZlZywgZGF0YSA9IGRhdGEuZnJhbWUoc2FtcF9kYXRhKSwgcGVybXV0YXRpb25zID0gMTAwMCkKCnBhaXJ3aXNlX3RpbWVfaGFuZHdlZWQ8LXBhaXJ3aXNlLmFkb25pczIocHNkaXN0IH4gVGltZSwgZGF0YSA9IHNhbXBfZGF0YSwgcGVybT0xMDAwLCBwLmFkanVzdC5tZXRob2RzPSJib25mZXJyb25pIikKcGFpcndpc2VfdGltZV9oYW5kd2VlZAoKSGFuZHdlZWRfb3JkPC1tZXRhTURTKG5hLm9taXQoc3ViX0hhbmR3ZWVkWyxjKCJCRyIsICJDQkgiLCAiUEhPUyIsICJOQUciLCAiQlgiLCAiQUciLCAiTEFQIildKSwgZGlzdGFuY2UgPSAiYnJheSIgKQpzdHJlc3NwbG90KEhhbmR3ZWVkX29yZCkKCm9yZDwtSGFuZHdlZWRfb3JkCiNtYWtlIHRoZSBwbG90IHdpdGggZXZlcnl0aGluZyAKZCA8LSBnZ19vcmRpcGxvdChvcmQsIHNhbXBfZGF0YSRUaW1lLCBjaG9pY2VzID0gYygxLCAyKSwga2luZCA9IGMoInNlIiksIGNvbmYgPSAwLjk1LCBzaG93Lmdyb3VwcyA9ICJhbGwiLCBlbGxpcHNlID0gVFJVRSwgbGFiZWwgPSBGQUxTRSwgaHVsbCA9IEZBTFNFLCBzcGlkZXJzID0gRkFMU0UsIHBsb3QgPSBUUlVFLCBwdC5zaXplID0gMSkgCiNwdWxsIG91dCB0aGUgZWxsaXBzZXMKZGZfZWxsaXBzZSA8LSBkJGRmX2VsbGlwc2UKZWxsaXBzZUcxIDwtIHN1YnNldChkZl9lbGxpcHNlLCBHcm91cCA9PSAiVDEiLCBkcm9wbGV2ZWxzPSBUUlVFKQplbGxpcHNlRzIgPC0gc3Vic2V0KGRmX2VsbGlwc2UsIEdyb3VwID09ICJUMiIsIGRyb3BsZXZlbHM9IFRSVUUpCmVsbGlwc2VHMyA8LSBzdWJzZXQoZGZfZWxsaXBzZSwgR3JvdXAgPT0gIlQzIiwgZHJvcGxldmVscz0gVFJVRSkKCgojbWFrZSB0aGUgZGF0YWZyYW1lIGFuZCBzdWJzZXQgb3V0IHNhbXBsZXMgeW91IGRvbnQgd2FudCB0byBwbG90CnRlc3Q8LWQkZGZfb3JkCnRlc3QkU2FtcGxlX0lEPC1yb3duYW1lcyh0ZXN0KQojdGVzdCRHcm91cD1OVUxMCm5hbWVzKHRlc3QpPC1jKCJ4IiwgInkiLCJUaW1lIikKCiNtYWtlIHRoZSBnZ3Bsb3Qgc2NhdHRlciBwbG90CnBsb3RfdGVzdDwtZ2dwbG90KHRlc3QsIGFlcyh4PXRlc3QkeCwgeT10ZXN0JHkpLCBjb2xvcj1UaW1lKSAgKyBzY2FsZV9jb2xvcl9tYW51YWwodmFsdWVzPWMoIiNGODc2NkQiLCAiIzAwQkEzOCIsICIjNjE5Q0ZGIiwgIiMwMDlFNzMiLCAiIzAwMDAwMCIpKSArIGdlb21fcG9pbnQoYWVzKGNvbG9yPSBUaW1lKSkKI2FkZCBwYXRocywgY29sb3IsIGFuZCBzaXplLCBvZiB0aGUgaHVsbHMKcGxvdF90ZXN0IDwtIHBsb3RfdGVzdCArCiAgICBnZW9tX3BhdGgoZGF0YT0gZWxsaXBzZUcxLCBhZXMoeD14LCB5PXkpLCBjb2xvcj0iI0Y4NzY2RCIsIGxpbmV0eXBlPSJzb2xpZCIsIHNpemU9MS4wKSArCiAgICBnZW9tX3BhdGgoZGF0YT0gZWxsaXBzZUcyLCBhZXMoeD14LCB5PXkpLCBjb2xvcj0iIzAwQkEzOCIsIGxpbmV0eXBlPSJzb2xpZCIsIHNpemU9MS4wKSArCiAgICBnZW9tX3BhdGgoZGF0YT0gZWxsaXBzZUczLCBhZXMoeD14LCB5PXkpLCBjb2xvcj0iIzYxOUNGRiIsIGxpbmV0eXBlPSJzb2xpZCIsIHNpemU9MS4wKSAKCiN0aGVtZSBpdCBvbiB1cApwbG90X3Rlc3Q8LSBwbG90X3Rlc3QgKyB0aGVtZV9jbGFzc2ljKCkKbTwtcGxvdF90ZXN0IAojbSA8LW0gKyBhbm5vdGF0ZSgidGV4dCIsIHggPSAtMC4wNSwgeSA9IC0wLjAxMiwgbGFiZWwgPSAiVGltZSAyIikKI20gPC1tICsgYW5ub3RhdGUoInRleHQiLCB4ID0gMC4wMSwgeSA9IC0wLjAxLCBsYWJlbCA9ICJUaW1lIDMiKQojbSA8LW0gKyBhbm5vdGF0ZSgidGV4dCIsIHggPSAwLjA0NSwgeSA9IC0wLjAyMywgbGFiZWwgPSAiVGltZSAxIikKI20gPC1tICsgYW5ub3RhdGUoInRleHQiLCB4ID0gMC40LCB5ID0gLTAuNSwgbGFiZWwgPSAiVGltZTogUCAgPiAwLjgiKQptPC0gbSArIGxhYnMoeD0gIk5NRFMyIiwgeT0iTk1EUzEiKQptIDwtIG0gKyBhbm5vdGF0ZSgidGV4dCIsIGxhYmVsPSJTYW1wbGluZyB0aW1lOlxucCA8IDAuMDEiLCB4ID0gMC4xMiwgeSA9IC0wLjA1NSkKZyA8LSBtICsgZ2d0aXRsZSgiIikgKyB0aGVtZShwbG90LnRpdGxlID0gZWxlbWVudF90ZXh0KGhqdXN0ID0gMC41LCBzaXplID0gMjIpKSAgKyB0aGVtZShheGlzLnRpdGxlLnggPSBlbGVtZW50X3RleHQoc2l6ZT0xNSkpICsgdGhlbWUoYXhpcy50aXRsZS55ID0gZWxlbWVudF90ZXh0KHNpemU9MTUpKSArIHNjYWxlX2ZpbGxfZGlzY3JldGUobmFtZSA9ICJTYW1wbGluZyB0aW1lIiwgbGFiZWxzID0gYygiVGltZSAxIiwgIlRpbWUgMiIsICJUaW1lIDMiKSkKZwoKSFdfTVY8LWcKCmBgYAoKYGBge3J9CiNSb3VuZHVwCmVuenltZXM8LSBjKCJCRyIsICJDQkgiLCAiUEhPUyIsICJOQUciLCAiQlgiLCAiQUciLCAiTEFQIikKc3ViX1JvdW5kdXAgPC0gUm91bmR1cFshaXMubmEoUm91bmR1cCRMQVApLF0KI3VuaXZhcmlhdGUKb3V0PC1saXN0KCkKbW9kZWxzX291dDwtbGlzdCgpCnAucHJlZGljdDwtbGlzdCgpCgpmb3IoaSBpbiAxOihsZW5ndGgoZW56eW1lcykpKXsKICBtb2RfaGVyYiA8LSBnbG0oZm9ybXVsYSA9IG5vcXVvdGUocGFzdGUoZW56eW1lc1tpXSwgIn4gVGltZSArIFRvdGFsX1dlZWRfVmVnIiwgc2VwID0gIiIpKSwgZmFtaWx5ID0gZ2F1c3NpYW4obGluayA9ICJpZGVudGl0eSIpLCBkYXRhID0gc3ViX1JvdW5kdXApCiAgbW9kX2ludGVyIDwtIGdsbShmb3JtdWxhID0gbm9xdW90ZShwYXN0ZShlbnp5bWVzW2ldLCAifiAxIiwgc2VwID0gIiIpKSwgZmFtaWx5ID0gZ2F1c3NpYW4obGluayA9ICJpZGVudGl0eSIpLCBkYXRhID0gc3ViX1JvdW5kdXApCiAgZ2xvYl9zaWc8LWFub3ZhKG1vZF9pbnRlciwgbW9kX2hlcmIsIHRlc3QgPSAiRiIpCiAgICBpZihnbG9iX3NpZyRgUHIoPkYpYFsyXTw9MC4wNSl7CiAgICAgICAgdGVzdF9zdGF0czwtYyhnbG9iX3NpZyRgUmVzaWQuIERmYCwgZ2xvYl9zaWckRlsyXSwgZ2xvYl9zaWckYFByKD5GKWBbMl0pCiAgICAgICAgbmFtZXModGVzdF9zdGF0cykgPC0gYygiREZfcmVzIiwgIkRGX251bGwiLCAiRi1zdGF0IiwgInAtdmFsIikKICAgICAgICBzdW1fbW9kZWw8LXN1bW1hcnkobW9kX2hlcmIpCiAgICAgICAgcG9zdF9ob2M8LXN1bW1hcnkoZ2xodChtb2RfaGVyYiwgbWNwKFRpbWU9IlR1a2V5IikpKQogICAgIyBwPC1hbm92YShtb2RfaGVyYiwgbW9kX2ludGVyKQogICAgICAgICMgIHAudmFsczwtYyhwLnZhbHMsIGxpc3QocCkpCiAgICAgICAgc2lnbmlmaWNhbmNlX3ByZWRpYzwtZHJvcDEobW9kX2hlcmIsIHRlc3QgPSAiRiIpCiAgICAgICAgb3V0PC1jKG91dCwgbGlzdChwb3N0X2hvYyksIGVuenltZXNbaV0pCiAgICAgICAgbW9kZWxzX291dCA8LSBjKG1vZGVsc19vdXQsIGVuenltZXNbaV0sIGxpc3QodGVzdF9zdGF0cyksIGxpc3Qoc3VtX21vZGVsKSkKICAgICAgICBwLnByZWRpY3QgPC0gYyhwLnByZWRpY3QsIGxpc3Qoc2lnbmlmaWNhbmNlX3ByZWRpYyksIGVuenltZXNbaV0pCiAgICB9Cgp9Cm1vZGVsc19vdXQKcC5wcmVkaWN0Cm91dAoKI2NvbnZlcnQgdG8gbG9uZyBmb3JtYXQgZm9yIGdncGxvdApzdWJSb3VuZHVwX2xvbmcgPC0gc3ViX1JvdW5kdXBbLGMoIlRpbWUiLCAiQkciLCAiQ0JIIiwgIlBIT1MiLCAiTkFHIiwgIkJYIiwgIkFHIiwgIkxBUCIsICJDLk5fZW56IildICU+JSAKICBnYXRoZXIoa2V5ID0gIkVuenltZSIsIHZhbHVlID0gIkFjdGl2aXR5IiwgQUcsIEJHLCBCWCwgUEhPUywgTEFQLCBDLk5fZW56ICkKCnN1YlJvdW5kdXBfbG9uZyRFbnp5bWU8LWZhY3RvcihzdWJSb3VuZHVwX2xvbmckRW56eW1lLCBsZXZlbHMgPSBjKCJBRyIsICJCRyIsICJCWCIsICJQSE9TIiwgIkxBUCIsICJDLk5fZW56IikpCgpkb3NlLmxhYnMgPC0gYygiQUciLCJCRyIsIkJYIiwiUEhPUyIsICJMQVAiLCAgIkMgZW56eW1lcyA6IE4gZW56eW1lcyIpCm5hbWVzKGRvc2UubGFicykgPC0gYygiQUciLCJCRyIsICJCWCIsICJQSE9TIiwgIkxBUCIsICJDLk5fZW56IikKClJVVVYxPC1nZ3Bsb3Qoc3ViUm91bmR1cF9sb25nLCBhZXNfc3RyaW5nKHggPSAiVGltZSIsIHk9ICJBY3Rpdml0eSIsIGZpbGw9IlRpbWUiKSkgKyBnZW9tX2JveHBsb3QoKSArIHRoZW1lX2NsYXNzaWMoKSArIGZhY2V0X3dyYXAofiBFbnp5bWUsIHNjYWxlcyA9ICJmcmVlX3kiLCBsYWJlbGxlciA9IGxhYmVsbGVyKEVuenltZSA9IGRvc2UubGFicykpICsgdGhlbWVfY2xhc3NpYygpICsKICAgZ2d0aXRsZSgiUm91bmR1cCBQb3dlcm1heCIpICsgdGhlbWUocGxvdC50aXRsZT0gZWxlbWVudF90ZXh0KCBoanVzdCA9IDAuNSwgc2l6ZSA9IDE1KSkgKyB5bGFiKCJBY3Rpdml0eSAobm1vbC9oL2cpIikgKyB4bGFiKCJTYW1wbGluZyB0aW1lIikgICsgc2NhbGVfZmlsbF9kaXNjcmV0ZShuYW1lID0gIlNhbXBsaW5nIHRpbWUiLCBsYWJlbHMgPSBjKCJUaW1lIG9uZSIsICJUaW1lIHR3byIsICJUaW1lIHRocmVlIikpICsgdGhlbWUoYXhpcy50ZXh0LnkgPSBlbGVtZW50X3RleHQoc2l6ZT0xMikpICArIAogIHRoZW1lKGF4aXMudGlja3MgPSBlbGVtZW50X2JsYW5rKCksIGF4aXMudGV4dC54ID0gZWxlbWVudF9ibGFuaygpLCBheGlzLnRpdGxlLnggPSBlbGVtZW50X3RleHQoc2l6ZSA9IDEyKSkgICsgCiAgICAgICB0aGVtZShzdHJpcC50ZXh0LnggPSBlbGVtZW50X3RleHQoc2l6ZSA9IDksIGNvbG91ciA9ICJibGFjayIsIGFuZ2xlID0gMCkpICsgdGhlbWUoYXhpcy50aXRsZS55ID0gZWxlbWVudF90ZXh0KHNpemU9MTUpKSAgKyAgdGhlbWUoc3RyaXAudGV4dC54ID0gZWxlbWVudF90ZXh0KHNpemUgPSAgMTIpKSAjdGhlbWUobGVnZW5kLnBvc2l0aW9uPSJub25lIikgKyAKCiNnZ3Bsb3Qoc3ViUm91bmR1cF9sb25nLCBhZXNfc3RyaW5nKHggPSAiVGltZSIsIHk9ICJBY3Rpdml0eSIsIGZpbGw9IlRpbWUiKSkgKyBnZW9tX2JveHBsb3QoKSArIHRoZW1lX2NsYXNzaWMoKSArIGZhY2V0X3dyYXAofiBFbnp5bWUsIHNjYWxlcyA9ICJmcmVlX3kiKSArIHRoZW1lKGF4aXMudGV4dC54ID0gZWxlbWVudF90ZXh0KGFuZ2xlID0gNDUsIGhqdXN0ID0gMSkpICsgZ2d0aXRsZSgiUm91bmR1cCBQb3dlcm1heCBieSB0aW1lIikgKyB0aGVtZShwbG90LnRpdGxlPSBlbGVtZW50X3RleHQoIGhqdXN0ID0gMC41LCBzaXplID0gMjIpKQoKClBob3NfUlU8LWdncGxvdChzdWJSb3VuZHVwX2xvbmcsIGFlc19zdHJpbmcoeCA9ICJUaW1lIiwgeT0gIkFjdGl2aXR5IiwgZmlsbD0iVGltZSIpKSArIGdlb21fYm94cGxvdChkYXRhPXN1YnNldChzdWJSb3VuZHVwX2xvbmcsIHN1YlJvdW5kdXBfbG9uZ1siRW56eW1lIl0gPT0gIlBIT1MiICkpICsgdGhlbWVfY2xhc3NpYygpICsgI2ZhY2V0X3dyYXAofiBFZGFwaGljLCBzY2FsZXMgPSAiZnJlZV95IikgKyAKICB0aGVtZShheGlzLnRpY2tzLnggPSBlbGVtZW50X2JsYW5rKCksIGF4aXMudGV4dC54ID0gZWxlbWVudF9ibGFuaygpLCBheGlzLnRpdGxlLnggPSBlbGVtZW50X3RleHQoc2l6ZSA9IDE1KSkgKyBnZ3RpdGxlKCIiKSArIHRoZW1lKHBsb3QudGl0bGU9IGVsZW1lbnRfdGV4dCggaGp1c3QgPSAwLjUsIHNpemUgPSAyMCkpICsgdGhlbWUoYXhpcy50aXRsZS55ID0gZWxlbWVudF90ZXh0KHNpemUgPSAxNSksIGF4aXMudGV4dC55ID0gZWxlbWVudF90ZXh0KHNpemUgPSAxMikpKyB5bGFiKCJBY3Rpdml0eVxuKG5tb2wvaHIvZyBkcnkgc29pbCkiKSArIHhsYWIoIlNhbXBsaW5nIFRpbWUiKSArIHNjYWxlX2ZpbGxfZGlzY3JldGUobmFtZSA9ICJTYW1wbGluZyB0aW1lIiwgbGFiZWxzID0gYygiVGltZSAxIiwgIlRpbWUgMiIsICJUaW1lIDMiKSkKCiNtdWx0aXZhcmlhdGUKZW56X3RhYmxlPC1zdWJfUm91bmR1cFssYygiQkciLCAiQ0JIIiwgIlBIT1MiLCAiTkFHIiwgIkJYIiwgIkFHIiwgIkxBUCIpXQpzYW1wX2RhdGEgPC0gc3ViX1JvdW5kdXBbLGMoIlRpbWUiLCAiVHJlYXRtZW50IiwgIlRvdGFsX1dlZWRfVmVnIildCgpwc2Rpc3Q8LXBhckRpc3QoYXMubWF0cml4KGVuel90YWJsZSksIG1ldGhvZCA9ICJicmF5IikKCmFkb25pczIocHNkaXN0IH4gVGltZSArIFRvdGFsX1dlZWRfVmVnLCBkYXRhID0gZGF0YS5mcmFtZShzYW1wX2RhdGEpLCBwZXJtdXRhdGlvbnMgPSAxMDAwKQoKUm91bmR1cF9vcmQ8LW1ldGFNRFMobmEub21pdChzdWJfUm91bmR1cFssYygiQkciLCAiQ0JIIiwgIlBIT1MiLCAiTkFHIiwgIkJYIiwgIkFHIiwgIkxBUCIpXSksIGRpc3RhbmNlID0gImJyYXkiICkKc3RyZXNzcGxvdChSb3VuZHVwX29yZCkKCm9yZDwtUm91bmR1cF9vcmQKI21ha2UgdGhlIHBsb3Qgd2l0aCBldmVyeXRoaW5nIApkIDwtIGdnX29yZGlwbG90KG9yZCwgc2FtcF9kYXRhJFRpbWUsIGNob2ljZXMgPSBjKDEsIDIpLCBraW5kID0gYygic2UiKSwgY29uZiA9IDAuOTUsIHNob3cuZ3JvdXBzID0gImFsbCIsIGVsbGlwc2UgPSBUUlVFLCBsYWJlbCA9IEZBTFNFLCBodWxsID0gRkFMU0UsIHNwaWRlcnMgPSBGQUxTRSwgcGxvdCA9IFRSVUUsIHB0LnNpemUgPSAxKSAKI3B1bGwgb3V0IHRoZSBlbGxpcHNlcwpkZl9lbGxpcHNlIDwtIGQkZGZfZWxsaXBzZQplbGxpcHNlRzEgPC0gc3Vic2V0KGRmX2VsbGlwc2UsIEdyb3VwID09ICJUMSIsIGRyb3BsZXZlbHM9IFRSVUUpCmVsbGlwc2VHMiA8LSBzdWJzZXQoZGZfZWxsaXBzZSwgR3JvdXAgPT0gIlQyIiwgZHJvcGxldmVscz0gVFJVRSkKZWxsaXBzZUczIDwtIHN1YnNldChkZl9lbGxpcHNlLCBHcm91cCA9PSAiVDMiLCBkcm9wbGV2ZWxzPSBUUlVFKQoKCiNtYWtlIHRoZSBkYXRhZnJhbWUgYW5kIHN1YnNldCBvdXQgc2FtcGxlcyB5b3UgZG9udCB3YW50IHRvIHBsb3QKdGVzdDwtZCRkZl9vcmQKdGVzdCRTYW1wbGVfSUQ8LXJvd25hbWVzKHRlc3QpCiN0ZXN0JEdyb3VwPU5VTEwKbmFtZXModGVzdCk8LWMoIngiLCAieSIsIlRpbWUiKQoKI21ha2UgdGhlIGdncGxvdCBzY2F0dGVyIHBsb3QKcGxvdF90ZXN0PC1nZ3Bsb3QodGVzdCwgYWVzKHg9dGVzdCR4LCB5PXRlc3QkeSksIGNvbG9yPVRpbWUpICArIHNjYWxlX2NvbG9yX21hbnVhbCh2YWx1ZXM9YygiI0Y1NjRFMyIsICIjNjE5Q0ZGIiwgIiNGODc2NkQiLCAiIzAwOUU3MyIsICIjMDAwMDAwIikpICsgZ2VvbV9wb2ludChhZXMoY29sb3I9IFRpbWUpKQojYWRkIHBhdGhzLCBjb2xvciwgYW5kIHNpemUsIG9mIHRoZSBodWxscwpwbG90X3Rlc3QgPC0gcGxvdF90ZXN0ICsKICAgIGdlb21fcGF0aChkYXRhPSBlbGxpcHNlRzEsIGFlcyh4PXgsIHk9eSksIGNvbG9yPSIjRjU2NEUzIiwgbGluZXR5cGU9InNvbGlkIiwgc2l6ZT0xLjApICsKICAgIGdlb21fcGF0aChkYXRhPSBlbGxpcHNlRzIsIGFlcyh4PXgsIHk9eSksIGNvbG9yPSIjNjE5Q0ZGIiwgbGluZXR5cGU9InNvbGlkIiwgc2l6ZT0xLjApICsKICAgIGdlb21fcGF0aChkYXRhPSBlbGxpcHNlRzMsIGFlcyh4PXgsIHk9eSksIGNvbG9yPSIjRjg3NjZEIiwgbGluZXR5cGU9InNvbGlkIiwgc2l6ZT0xLjApIAoKI3RoZW1lIGl0IG9uIHVwCnBsb3RfdGVzdDwtIHBsb3RfdGVzdCArIHRoZW1lX2NsYXNzaWMoKQptPC1wbG90X3Rlc3QgCiNtIDwtbSArIGFubm90YXRlKCJ0ZXh0IiwgeCA9IC0wLjA1LCB5ID0gLTAuMDEyLCBsYWJlbCA9ICJUaW1lIDIiKQojbSA8LW0gKyBhbm5vdGF0ZSgidGV4dCIsIHggPSAwLjAxLCB5ID0gLTAuMDEsIGxhYmVsID0gIlRpbWUgMyIpCiNtIDwtbSArIGFubm90YXRlKCJ0ZXh0IiwgeCA9IDAuMDQ1LCB5ID0gLTAuMDIzLCBsYWJlbCA9ICJUaW1lIDEiKQojbSA8LW0gKyBhbm5vdGF0ZSgidGV4dCIsIHggPSAwLjQsIHkgPSAtMC41LCBsYWJlbCA9ICJUaW1lOiBQICA+IDAuOCIpCm08LSBtICsgbGFicyh4PSAiTk1EUzIiLCB5PSJOTURTMSIpCmcgPC0gbSArIGdndGl0bGUoIlJvdW5kdXAgYnkgdGltZSIpICsgdGhlbWUocGxvdC50aXRsZSA9IGVsZW1lbnRfdGV4dChoanVzdCA9IDAuNSwgc2l6ZSA9IDIyKSkgIApnCmBgYAoKYGBge3J9CiNOb25UcmVhdAplbnp5bWVzPC0gYygiQkciLCAiQ0JIIiwgIlBIT1MiLCAiTkFHIiwgIkJYIiwgIkFHIiwgIkxBUCIpCnN1Yl9Ob25UcmVhdCA8LSBOb25UcmVhdFshaXMubmEoTm9uVHJlYXQkTEFQKSxdCiN1bml2YXJpYXRlCm91dDwtbGlzdCgpCm1vZGVsc19vdXQ8LWxpc3QoKQpwLnByZWRpY3Q8LWxpc3QoKQoKZm9yKGkgaW4gMToobGVuZ3RoKGVuenltZXMpKSl7CiAgbW9kX2hlcmIgPC0gZ2xtKGZvcm11bGEgPSBub3F1b3RlKHBhc3RlKGVuenltZXNbaV0sICJ+IFRpbWUgKyBUb3RhbF9XZWVkX1ZlZyIsIHNlcCA9ICIiKSksIGZhbWlseSA9IGdhdXNzaWFuKGxpbmsgPSAiaWRlbnRpdHkiKSwgZGF0YSA9IHN1Yl9Ob25UcmVhdCkKICBtb2RfaW50ZXIgPC0gZ2xtKGZvcm11bGEgPSBub3F1b3RlKHBhc3RlKGVuenltZXNbaV0sICJ+IDEiLCBzZXAgPSAiIikpLCBmYW1pbHkgPSBnYXVzc2lhbihsaW5rID0gImlkZW50aXR5IiksIGRhdGEgPSBzdWJfTm9uVHJlYXQpCiAgZ2xvYl9zaWc8LWFub3ZhKG1vZF9pbnRlciwgbW9kX2hlcmIsIHRlc3QgPSAiRiIpCiAgICBpZihnbG9iX3NpZyRgUHIoPkYpYFsyXTw9MC4wNSl7CiAgICAgICAgdGVzdF9zdGF0czwtYyhnbG9iX3NpZyRgUmVzaWQuIERmYCwgZ2xvYl9zaWckRlsyXSwgZ2xvYl9zaWckYFByKD5GKWBbMl0pCiAgICAgICAgbmFtZXModGVzdF9zdGF0cykgPC0gYygiREZfcmVzIiwgIkRGX251bGwiLCAiRi1zdGF0IiwgInAtdmFsIikKICAgICAgICBzdW1fbW9kZWw8LXN1bW1hcnkobW9kX2hlcmIpCiAgICAgICAgcG9zdF9ob2M8LXN1bW1hcnkoZ2xodChtb2RfaGVyYiwgbWNwKFRpbWU9IlR1a2V5IikpKQogICAgIyBwPC1hbm92YShtb2RfaGVyYiwgbW9kX2ludGVyKQogICAgICAgICMgIHAudmFsczwtYyhwLnZhbHMsIGxpc3QocCkpCiAgICAgICAgc2lnbmlmaWNhbmNlX3ByZWRpYzwtZHJvcDEobW9kX2hlcmIsIHRlc3QgPSAiRiIpCiAgICAgICAgb3V0PC1jKG91dCwgbGlzdChwb3N0X2hvYyksIGVuenltZXNbaV0pCiAgICAgICAgbW9kZWxzX291dCA8LSBjKG1vZGVsc19vdXQsIGVuenltZXNbaV0sIGxpc3QodGVzdF9zdGF0cyksIGxpc3Qoc3VtX21vZGVsKSkKICAgICAgICBwLnByZWRpY3QgPC0gYyhwLnByZWRpY3QsIGxpc3Qoc2lnbmlmaWNhbmNlX3ByZWRpYyksIGVuenltZXNbaV0pCiAgICB9Cgp9Cm1vZGVsc19vdXQKcC5wcmVkaWN0Cm91dAoKI2NvbnZlcnQgdG8gbG9uZyBmb3JtYXQgZm9yIGdncGxvdApzdWJOb25UcmVhdF9sb25nIDwtIHN1Yl9Ob25UcmVhdFssYygiVGltZSIsICJCRyIsICJDQkgiLCAiUEhPUyIsICJOQUciLCAiQlgiLCAiQUciLCAiTEFQIiwgIkMuTl9lbnoiKV0gJT4lIAogIGdhdGhlcihrZXkgPSAiRW56eW1lIiwgdmFsdWUgPSAiQWN0aXZpdHkiLEJHLCBDQkgsIFBIT1MsIE5BRywgQlgsIEFHLCBMQVAsIEMuTl9lbnogKQoKCmRvc2UubGFicyA8LSBjKCJBRyIsIkJHIiwiQlgiLCJQSE9TIiwgIkMgZW56eW1lcyA6IE4gZW56eW1lcyIpCm5hbWVzKGRvc2UubGFicykgPC0gYygiQUciLCJCRyIsICJCWCIsICJQSE9TIiwgIkMuTl9lbnoiKQoKYWFVVjE8LWdncGxvdChzdWJOb25UcmVhdF9sb25nLCBhZXNfc3RyaW5nKHggPSAiVGltZSIsIHk9ICJBY3Rpdml0eSIsIGZpbGw9IlRpbWUiKSkgKyBnZW9tX2JveHBsb3QoKSArIHRoZW1lX2NsYXNzaWMoKSArIGZhY2V0X3dyYXAofiBFbnp5bWUsIHNjYWxlcyA9ICJmcmVlX3kiLCBsYWJlbGxlciA9IGxhYmVsbGVyKEVuenltZSA9IGRvc2UubGFicykpICsgdGhlbWVfY2xhc3NpYygpICsKICAgZ2d0aXRsZSgiIikgKyB0aGVtZShwbG90LnRpdGxlPSBlbGVtZW50X3RleHQoIGhqdXN0ID0gMC41LCBzaXplID0gMjIpKSArIHlsYWIoIkFjdGl2aXR5IChubW9sL2gvZykiKSArIHhsYWIoIlNhbXBsaW5nIHRpbWUiKSAgKyBzY2FsZV9maWxsX2Rpc2NyZXRlKG5hbWUgPSAiU2FtcGxpbmcgdGltZSIsIGxhYmVscyA9IGMoIlRpbWUgb25lIiwgIlRpbWUgdHdvIiwgIlRpbWUgdGhyZWUiKSkgKyB0aGVtZShheGlzLnRleHQueSA9IGVsZW1lbnRfdGV4dChzaXplPTEyKSkgICsgCiAgdGhlbWUoYXhpcy50aWNrcyA9IGVsZW1lbnRfYmxhbmsoKSwgYXhpcy50ZXh0LnggPSBlbGVtZW50X2JsYW5rKCksIGF4aXMudGl0bGUueCA9IGVsZW1lbnRfdGV4dChzaXplID0gMTIpKSAgKyAKICAgICAgIHRoZW1lKHN0cmlwLnRleHQueCA9IGVsZW1lbnRfdGV4dChzaXplID0gOSwgY29sb3VyID0gImJsYWNrIiwgYW5nbGUgPSAwKSkgKyB0aGVtZShheGlzLnRpdGxlLnkgPSBlbGVtZW50X3RleHQoc2l6ZT0xNSkpICArICB0aGVtZShzdHJpcC50ZXh0LnggPSBlbGVtZW50X3RleHQoc2l6ZSA9ICAxMikpICN0aGVtZShsZWdlbmQucG9zaXRpb249Im5vbmUiKSArIAoKCiNnZ3Bsb3Qoc3ViTm9uVHJlYXRfbG9uZywgYWVzX3N0cmluZyh4ID0gIlRpbWUiLCB5PSAiQWN0aXZpdHkiLCBmaWxsPSJUaW1lIikpICsgZ2VvbV9ib3hwbG90KCkgKyB0aGVtZV9jbGFzc2ljKCkgKyBmYWNldF93cmFwKH4gRW56eW1lLCBzY2FsZXMgPSAiZnJlZV95IikgKyB0aGVtZShheGlzLnRleHQueCA9IGVsZW1lbnRfdGV4dChhbmdsZSA9IDQ1LCBoanVzdCA9IDEpKSArIGdndGl0bGUoIk5vbi10cmVhdGVkIGJ5IHRpbWUiKSArIHRoZW1lKHBsb3QudGl0bGU9IGVsZW1lbnRfdGV4dCggaGp1c3QgPSAwLjUsIHNpemUgPSAyMikpCgoKI211bHRpdmFyaWF0ZQplbnpfdGFibGU8LXN1Yl9Ob25UcmVhdFssYygiQkciLCAiQ0JIIiwgIlBIT1MiLCAiTkFHIiwgIkJYIiwgIkFHIiwgIkxBUCIpXQpzYW1wX2RhdGEgPC0gc3ViX05vblRyZWF0WyxjKCJUaW1lIiwgIlRyZWF0bWVudCIsICJUb3RhbF9XZWVkX1ZlZyIpXQoKcHNkaXN0PC1wYXJEaXN0KGFzLm1hdHJpeChlbnpfdGFibGUpLCBtZXRob2QgPSAiYnJheSIpCgphZG9uaXMyKHBzZGlzdCB+IFRpbWUgKyBUb3RhbF9XZWVkX1ZlZywgZGF0YSA9IGRhdGEuZnJhbWUoc2FtcF9kYXRhKSwgcGVybXV0YXRpb25zID0gMTAwMCkKCk5vblRyZWF0X29yZDwtbWV0YU1EUyhuYS5vbWl0KHN1Yl9Ob25UcmVhdFssYygiQkciLCAiQ0JIIiwgIlBIT1MiLCAiTkFHIiwgIkJYIiwgIkFHIiwgIkxBUCIpXSksIGRpc3RhbmNlID0gImJyYXkiICkKc3RyZXNzcGxvdChOb25UcmVhdF9vcmQpCgpvcmQ8LU5vblRyZWF0X29yZAojbWFrZSB0aGUgcGxvdCB3aXRoIGV2ZXJ5dGhpbmcgCmQgPC0gZ2dfb3JkaXBsb3Qob3JkLCBzYW1wX2RhdGEkVGltZSwgY2hvaWNlcyA9IGMoMSwgMiksIGtpbmQgPSBjKCJzZSIpLCBjb25mID0gMC45NSwgc2hvdy5ncm91cHMgPSAiYWxsIiwgZWxsaXBzZSA9IFRSVUUsIGxhYmVsID0gRkFMU0UsIGh1bGwgPSBGQUxTRSwgc3BpZGVycyA9IEZBTFNFLCBwbG90ID0gVFJVRSwgcHQuc2l6ZSA9IDEpIAojcHVsbCBvdXQgdGhlIGVsbGlwc2VzCmRmX2VsbGlwc2UgPC0gZCRkZl9lbGxpcHNlCmVsbGlwc2VHMSA8LSBzdWJzZXQoZGZfZWxsaXBzZSwgR3JvdXAgPT0gIlQxIiwgZHJvcGxldmVscz0gVFJVRSkKZWxsaXBzZUcyIDwtIHN1YnNldChkZl9lbGxpcHNlLCBHcm91cCA9PSAiVDIiLCBkcm9wbGV2ZWxzPSBUUlVFKQplbGxpcHNlRzMgPC0gc3Vic2V0KGRmX2VsbGlwc2UsIEdyb3VwID09ICJUMyIsIGRyb3BsZXZlbHM9IFRSVUUpCgoKI21ha2UgdGhlIGRhdGFmcmFtZSBhbmQgc3Vic2V0IG91dCBzYW1wbGVzIHlvdSBkb250IHdhbnQgdG8gcGxvdAp0ZXN0PC1kJGRmX29yZAp0ZXN0JFNhbXBsZV9JRDwtcm93bmFtZXModGVzdCkKI3Rlc3QkR3JvdXA9TlVMTApuYW1lcyh0ZXN0KTwtYygieCIsICJ5IiwiVGltZSIpCgojbWFrZSB0aGUgZ2dwbG90IHNjYXR0ZXIgcGxvdApwbG90X3Rlc3Q8LWdncGxvdCh0ZXN0LCBhZXMoeD10ZXN0JHgsIHk9dGVzdCR5KSwgY29sb3I9VGltZSkgICsgc2NhbGVfY29sb3JfbWFudWFsKHZhbHVlcz1jKCIjRjU2NEUzIiwgIiM2MTlDRkYiLCAiI0Y4NzY2RCIsICIjMDA5RTczIiwgIiMwMDAwMDAiKSkgKyBnZW9tX3BvaW50KGFlcyhjb2xvcj0gVGltZSkpCiNhZGQgcGF0aHMsIGNvbG9yLCBhbmQgc2l6ZSwgb2YgdGhlIGh1bGxzCnBsb3RfdGVzdCA8LSBwbG90X3Rlc3QgKwogICAgZ2VvbV9wYXRoKGRhdGE9IGVsbGlwc2VHMSwgYWVzKHg9eCwgeT15KSwgY29sb3I9IiNGNTY0RTMiLCBsaW5ldHlwZT0ic29saWQiLCBzaXplPTEuMCkgKwogICAgZ2VvbV9wYXRoKGRhdGE9IGVsbGlwc2VHMiwgYWVzKHg9eCwgeT15KSwgY29sb3I9IiM2MTlDRkYiLCBsaW5ldHlwZT0ic29saWQiLCBzaXplPTEuMCkgKwogICAgZ2VvbV9wYXRoKGRhdGE9IGVsbGlwc2VHMywgYWVzKHg9eCwgeT15KSwgY29sb3I9IiNGODc2NkQiLCBsaW5ldHlwZT0ic29saWQiLCBzaXplPTEuMCkgCgojdGhlbWUgaXQgb24gdXAKcGxvdF90ZXN0PC0gcGxvdF90ZXN0ICsgdGhlbWVfY2xhc3NpYygpCm08LXBsb3RfdGVzdCAKI20gPC1tICsgYW5ub3RhdGUoInRleHQiLCB4ID0gLTAuMDUsIHkgPSAtMC4wMTIsIGxhYmVsID0gIlRpbWUgMiIpCiNtIDwtbSArIGFubm90YXRlKCJ0ZXh0IiwgeCA9IDAuMDEsIHkgPSAtMC4wMSwgbGFiZWwgPSAiVGltZSAzIikKI20gPC1tICsgYW5ub3RhdGUoInRleHQiLCB4ID0gMC4wNDUsIHkgPSAtMC4wMjMsIGxhYmVsID0gIlRpbWUgMSIpCiNtIDwtbSArIGFubm90YXRlKCJ0ZXh0IiwgeCA9IDAuNCwgeSA9IC0wLjUsIGxhYmVsID0gIlRpbWU6IFAgID4gMC44IikKbTwtIG0gKyBsYWJzKHg9ICJOTURTMiIsIHk9Ik5NRFMxIikKZyA8LSBtICsgZ2d0aXRsZSgiTm9uVHJlYXQgYnkgdGltZSIpICsgdGhlbWUocGxvdC50aXRsZSA9IGVsZW1lbnRfdGV4dChoanVzdCA9IDAuNSwgc2l6ZSA9IDIyKSkgIApnCmBgYAoKCmNvbWJpbmUgZmlndXJlcyBmb3IgbWFudXNjaXJwdApgYGB7cn0KCnN1YlJvdW5kdXBfbG9uZyA8LSBzdWJfUm91bmR1cFssYygiVGltZSIsICJCRyIsICJDQkgiLCAiUEhPUyIsICJOQUciLCAiQlgiLCAiQUciLCAiTEFQIiwgIkMuTl9lbnoiKV0gJT4lIAogIGdhdGhlcihrZXkgPSAiRW56eW1lIiwgdmFsdWUgPSAiQWN0aXZpdHkiLCBBRywgQkcsIEJYLCBQSE9TLCBDLk5fZW56ICkKClJVX1VWPC1nZ3Bsb3Qoc3ViUm91bmR1cF9sb25nLCBhZXNfc3RyaW5nKHggPSAiVGltZSIsIHk9ICJBY3Rpdml0eSIsIGZpbGw9IlRpbWUiKSkgKyBnZW9tX2JveHBsb3QoKSArIHRoZW1lX2NsYXNzaWMoKSArIGZhY2V0X3dyYXAofiBFbnp5bWUsIHNjYWxlcyA9ICJmcmVlX3kiKSArIHRoZW1lKGF4aXMudGV4dC54ID0gZWxlbWVudF90ZXh0KGFuZ2xlID0gNDUsIGhqdXN0ID0gMSkpICsgZ2d0aXRsZSgiR2x5cGhvc2F0ZSIpICsgdGhlbWUocGxvdC50aXRsZT0gZWxlbWVudF90ZXh0KCBoanVzdCA9IDAuNSwgc2l6ZSA9MTcpKSAgKyB5bGFiKCIiKSArIHhsYWIoIiIpICsgc2NhbGVfZmlsbF9kaXNjcmV0ZShuYW1lID0gIlNhbXBsaW5nIHRpbWUiLCBsYWJlbHMgPSBjKCJQcmUtdHJlYXRtZW50IiwgIjEwLWRheXMgcG9zdCIsICIyMC1kYXlzIHBvc3QiKSkgICsgdGhlbWUoYXhpcy50aWNrcyA9IGVsZW1lbnRfYmxhbmsoKSwgYXhpcy50ZXh0LnggPSBlbGVtZW50X2JsYW5rKCksIGF4aXMudGl0bGUueCA9IGVsZW1lbnRfdGV4dChzaXplID0gMTIpKSAgKyB0aGVtZShzdHJpcC50ZXh0LnggPSBlbGVtZW50X3RleHQoc2l6ZSA9IDEwLCBjb2xvdXIgPSAiYmxhY2siLCBhbmdsZSA9IDApKSArIHRoZW1lKGF4aXMudGV4dC55ID0gZWxlbWVudF90ZXh0KHNpemU9MTQsIGFuZ2xlPTQ1KSkgKyB0aGVtZShheGlzLnRpdGxlLnkgPSBlbGVtZW50X3RleHQoc2l6ZT0xNSkpCgpzdWJIYW5kd2VlZF9sb25nIDwtIHN1Yl9IYW5kd2VlZFssYygiVGltZSIsICJCRyIsICJDQkgiLCAiUEhPUyIsICJOQUciLCAiQlgiLCAiQUciLCAiTEFQIiwgIkMuTl9lbnoiKV0gJT4lIAogIGdhdGhlcihrZXkgPSAiRW56eW1lIiwgdmFsdWUgPSAiQWN0aXZpdHkiLCwgQUcsIEJHLCBCWCwgUEhPUywgQy5OX2VueiApCgpIV19VVjwtZ2dwbG90KHN1YkhhbmR3ZWVkX2xvbmcsIGFlc19zdHJpbmcoeCA9ICJUaW1lIiwgeT0gIkFjdGl2aXR5IiwgZmlsbD0iVGltZSIpKSArIGdlb21fYm94cGxvdCgpICsgdGhlbWVfY2xhc3NpYygpICsgZmFjZXRfd3JhcCh+IEVuenltZSwgc2NhbGVzID0gImZyZWVfeSIpICsgdGhlbWUoYXhpcy50ZXh0LnggPSBlbGVtZW50X3RleHQoYW5nbGUgPSA0NSwgaGp1c3QgPSAxKSkgICsgZ2d0aXRsZSgiSGFuZHdlZWRlZCIpICsgdGhlbWUocGxvdC50aXRsZT0gZWxlbWVudF90ZXh0KCBoanVzdCA9IDAuNSwgc2l6ZSA9IDE3KSkgICsgeWxhYigiIikgKyB4bGFiKCIiKSArIHNjYWxlX2ZpbGxfZGlzY3JldGUobmFtZSA9ICJTYW1wbGluZyB0aW1lIiwgbGFiZWxzID0gYygiUHJlLXRyZWF0bWVudCIsICIxMCBkYXlzIHBvc3QiLCAiMjAgZGF5cyBwb3N0IikpICArIHRoZW1lKGF4aXMudGlja3MgPSBlbGVtZW50X2JsYW5rKCksIGF4aXMudGV4dC54ID0gZWxlbWVudF9ibGFuaygpLCBheGlzLnRpdGxlLnggPSBlbGVtZW50X3RleHQoc2l6ZSA9IDEyKSkgICsgIHRoZW1lKHN0cmlwLnRleHQueCA9IGVsZW1lbnRfdGV4dChzaXplID0gMTAsIGNvbG91ciA9ICJibGFjayIsIGFuZ2xlID0gMCkpICArIHRoZW1lKGF4aXMudGV4dC55ID0gZWxlbWVudF90ZXh0KHNpemU9MTQsIGFuZ2xlPTQ1KSkgKyB0aGVtZShheGlzLnRpdGxlLnkgPSBlbGVtZW50X3RleHQoc2l6ZT0xNSkpICsgdGhlbWUobGVnZW5kLnBvc2l0aW9uID0gIm5vbmUiKSAKCgojSFdfTVYgPC0gSFdfTVYgKyB0aGVtZShsZWdlbmQucG9zaXRpb24gPSAibm9uZSIpICsgZ2d0aXRsZSgiSGFuZC13ZWVkZWQiKSArIHRoZW1lKHBsb3QudGl0bGU9IGVsZW1lbnRfdGV4dCggaGp1c3QgPSAwLjUsIHNpemUgPSAxNSkpICsgdGhlbWUoYXhpcy50ZXh0LnkgPSBlbGVtZW50X3RleHQoc2l6ZT0xNCwgYW5nbGU9MCkpICsgdGhlbWUoYXhpcy50ZXh0LnggPSBlbGVtZW50X3RleHQoc2l6ZSA9IDE0KSkKCgpteV9sZWdlbmQgPC0gZ2V0X2xlZ2VuZChSVV9VVikKYXNfZ2dwbG90KG15X2xlZ2VuZCkKZ2dzYXZlKCIvVXNlcnMvZ29yZG9uY3VzdGVyL0Rlc2t0b3AvR2l0X1Byb2plY3RzL0hlcmJpY2lkZV9NaWNyb2Jlc19QVDEvRmlndXJlcy9FbnpfaHVtcF9hY3Rpdml0eV9sZWdlbmQucGRmIikKZ2dzYXZlKCIvVXNlcnMvZ29yZG9uY3VzdGVyL0Rlc2t0b3AvR2l0X1Byb2plY3RzL0hlcmJpY2lkZV9NaWNyb2Jlc19QVDEvRmlndXJlcy9FbnpfaHVtcF9hY3Rpdml0eV9sZWdlbmQuZXBzIikKUlVfVVY8LVJVX1VWKyB0aGVtZShsZWdlbmQucG9zaXRpb24gPSAibm9uZSIpIApSVV9VVgoKCmdnYXJyYW5nZShIV19VViwgUlVfVVYsICBucm93ID0gMiwgbmNvbCA9IDEpCmdnc2F2ZSgiL1VzZXJzL2dvcmRvbmN1c3Rlci9EZXNrdG9wL0dpdF9Qcm9qZWN0cy9IZXJiaWNpZGVfTWljcm9iZXNfUFQxL0ZpZ3VyZXMvRW56X2h1bXBfYWN0aXZpdHkuZXBzIiwgd2lkdGggPSA3LCBoZWlnaHQgPSAxMCkKZ2dzYXZlKCIvVXNlcnMvZ29yZG9uY3VzdGVyL0Rlc2t0b3AvR2l0X1Byb2plY3RzL0hlcmJpY2lkZV9NaWNyb2Jlc19QVDEvRmlndXJlcy9FbnpfaHVtcF9hY3Rpdml0eS5wZGYiLCB3aWR0aCA9IDcsIGhlaWdodCA9IDEwKQoKYGBgCgoKI0FsbCB0b2dldGhlciB3aXRoIGNvbnNlcnZhdGl2ZSBtaXhlZCBtb2RlbHMKCndpdGggdGltZSAxIHZhbHVlcyBhcyBhIHByZWRpdG9yIGFuZCBvbmx5IHRpbWUgMiBhbmQgMwpgYGB7cn0KZW56X29ubHkkYmxvY2s8LWZhY3RvcihzdWJzdHIoZW56X29ubHkkU2FtcGxlX0lELCBzdGFydCA9IDEsIHN0b3AgPSAxKSkKZGF0IDwtIGVuel9vbmx5WyFpcy5uYShlbnpfb25seSRMQVApLF0KCiNHb29kIGZvciBzaGFwaXJvIHRlc3Qgb24gcmVzaWR1YWxzIHdpdGhvdXQgbG9nIHRyYW5zZm9ybS4gSSByYW4gZWFjaCBtb2RlbCBhbmQgY2hlY2tlZCB0aGUgcmVzaWR1YWxzIGZvciBub3JtYWlsdHkgdXNpbmcgInNoYXBpcm8udGVzdChyZXNpZCh0ZXN0X21vZGVsX2xtZXIpKSIuIEFsbCBvZiB0aGUgZm9sbHdpbmcgcGFzc2VkIHRoZSBzaGFwaXJvIHdpbGsgdGVzdCA6IEJHLCBDQkgsIEFHLCBCWCwgUEhPUywgTEFQLCBOQUcKCmRhdDwtZGF0W2RhdCRUaW1lICE9ICJUMSIsIF0KCmxpYnJhcnkobG1lclRlc3QpCnRlc3RfbW9kZWxfbG1lcjwtbG1lcihOQUcgfiBIZXJiaWNpZGUgKyBCR19UMSArIFRpbWUgKyAoMXxibG9jaykgKyAoMXxUaW1lKSwgZGF0YSA9IGRhdCkKc3VtbWFyeSh0ZXN0X21vZGVsX2xtZXIpCnN1bW1hcnkoZ2xodCh0ZXN0X21vZGVsX2xtZXIsIG1jcChIZXJiaWNpZGUgPSAiVHVrZXkiLCBUaW1lID0gIlR1a2V5IikpKQphbm92YSh0ZXN0X21vZGVsX2xtZXIpCgplbnp5bWVzPC0gYygiQkciLCAiQ0JIIiwgIlBIT1MiLCAiTkFHIiwgIkJYIiwgIkFHIiwgIkxBUCIpCmVuenltZXNfdDE8LWMoIkJHX1QxIiwgIkNCSF9UMSIsICJQSE9TX1QxIiwgIk5BR19UMSIsICJCWF9UMSIsICJBR19UMSIsICJMQVBfVDEiKQpkYXQKI3VuaXZhcmlhdGUKb3V0PC1saXN0KCkKbW9kZWxzX291dDwtbGlzdCgpCnAudmFsczwtbGlzdCgpCgpmb3IoaSBpbiAxOihsZW5ndGgoZW56eW1lcykpKXsKICBtb2QgPC0gbG1lcihmb3JtdWxhID0gbm9xdW90ZShwYXN0ZShlbnp5bWVzW2ldLCAifiBIZXJiaWNpZGUgKyBUb3RhbF9XZWVkX1ZlZyArIiwgZW56eW1lc190MVtpXSwgIisgVGltZSArIFRpbWUqSGVyYmljaWRlICsgKDF8VGltZSkiLCBzZXAgPSAiIikpLCBkYXRhID0gZGF0KQogIHN1bV9tb2RlbDwtc3VtbWFyeShtb2QpCiAgcG9zdF9ob2M8LXN1bW1hcnkoZ2xodChtb2QsIG1jcChIZXJiaWNpZGUgPSAiVHVrZXkiLCBUaW1lID0gIlR1a2V5IikpKQogIHA8LWFub3ZhKG1vZCkKICBwLnZhbHM8LWMocC52YWxzLCBsaXN0KHApKQogIG91dDwtYyhvdXQsIGxpc3QocG9zdF9ob2MpKQogIG1vZGVsc19vdXQgPC0gYyhtb2RlbHNfb3V0LCBsaXN0KHN1bV9tb2RlbCkpCn0KCgptb2RlbHNfb3V0Cm91dApwLnZhbHMKYGBgCgoKCldlZWQgY292ZXIKYGBge3J9CnQxX21vZDwtZ2xtKFRvdGFsX1dlZWRfVmVnIH4gSGVyYmljaWRlLCBkYXRhID0gVGltZTEpCnN1bW1hcnkoZ2xodCh0MV9tb2QsIG1jcChIZXJiaWNpZGUgPSAiVHVrZXkiKSkpCnBsb3QoVGltZTEkVG90YWxfV2VlZF9WZWcgfiBUaW1lMSRIZXJiaWNpZGUpCgoKdDJfbW9kPC1nbG0oVG90YWxfV2VlZF9WZWcgfiBIZXJiaWNpZGUsIGRhdGEgPSBUaW1lMikKc3VtbWFyeShnbGh0KHQyX21vZCwgbWNwKEhlcmJpY2lkZSA9ICJUdWtleSIpKSkKcGxvdChUaW1lMiRUb3RhbF9XZWVkX1ZlZyB+IFRpbWUyJEhlcmJpY2lkZSkKdDNfbW9kPC1nbG0oTk8zX21nX2tnZHJ5c29pbCB+IFRvdGFsX1dlZWRfVmVnLCBkYXRhID0gVGltZTIpCnN1bW1hcnkodDNfbW9kKQoKdDNfbW9kPC1nbG0oTk8zX21nX2tnZHJ5c29pbCB+IEhlcmJpY2lkZSwgZGF0YSA9IFRpbWUzKQpzdW1tYXJ5KHQzX21vZCkKc3VtbWFyeShnbGh0KHQzX21vZCwgbWNwKEhlcmJpY2lkZSA9ICJUdWtleSIpKSkKcGxvdChUaW1lMyRUb3RhbF9XZWVkX1ZlZyB+IFRpbWUzJEhlcmJpY2lkZSkKYGBgCgo=